From 09f227d9000f4cd30d19191f514bbbd55dc4d40a Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Thu, 12 Dec 2013 01:26:35 +0000
Subject: [PATCH] Additional fixes OPENDJ-1247: Client side timeouts do not cancel bind or startTLS requests properly

---
 opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/AbstractLDAPFutureResultImpl.java |   16 +++-------------
 1 files changed, 3 insertions(+), 13 deletions(-)

diff --git a/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/AbstractLDAPFutureResultImpl.java b/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/AbstractLDAPFutureResultImpl.java
index a7b896c..94f602e 100644
--- a/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/AbstractLDAPFutureResultImpl.java
+++ b/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/AbstractLDAPFutureResultImpl.java
@@ -48,7 +48,6 @@
         extends AsynchronousFutureResult<S, ResultHandler<? super S>>
         implements IntermediateResponseHandler {
     private final Connection connection;
-    private final int requestID;
     private IntermediateResponseHandler intermediateResponseHandler;
     private volatile long timestamp;
 
@@ -56,21 +55,12 @@
         final ResultHandler<? super S> resultHandler,
         final IntermediateResponseHandler intermediateResponseHandler,
         final Connection connection) {
-        super(resultHandler);
-        this.requestID = requestID;
+        super(resultHandler, requestID);
         this.connection = connection;
         this.intermediateResponseHandler = intermediateResponseHandler;
         this.timestamp = System.currentTimeMillis();
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public final int getRequestID() {
-        return requestID;
-    }
-
     /** {@inheritDoc} */
     @Override
     public final boolean handleIntermediateResponse(final IntermediateResponse response) {
@@ -99,7 +89,7 @@
          * future. There is no risk of an infinite loop because the state of
          * this future has already been changed.
          */
-        connection.abandonAsync(Requests.newAbandonRequest(requestID));
+        connection.abandonAsync(Requests.newAbandonRequest(getRequestID()));
         return null;
     }
 
@@ -124,7 +114,7 @@
     @Override
     protected void toString(final StringBuilder sb) {
         sb.append(" requestID = ");
-        sb.append(requestID);
+        sb.append(getRequestID());
         sb.append(" timestamp = ");
         sb.append(timestamp);
         super.toString(sb);

--
Gitblit v1.10.0