Author: trustin
Date: Mon Jan 14 21:51:59 2008
New Revision: 612023

URL: http://svn.apache.org/viewvc?rev=612023&view=rev
Log:
Resolved issue: DIRMINA-508 (org.apache.mina.filter.reqres.Request creates 
LinkedBlockingQueue when not required)
* Applied Kevin's patch - request queue is not created if no blocking operation 
is required.


Modified:
    mina/trunk/core/src/main/java/org/apache/mina/filter/reqres/Request.java

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/filter/reqres/Request.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/reqres/Request.java?rev=612023&r1=612022&r2=612023&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/reqres/Request.java 
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/reqres/Request.java 
Mon Jan 14 21:51:59 2008
@@ -34,15 +34,13 @@
 
     private final Object message;
 
-    private final boolean useResponseQueue;
-
     private final long timeoutMillis;
 
     private volatile Runnable timeoutTask;
 
     private volatile ScheduledFuture<?> timeoutFuture;
 
-    private final BlockingQueue<Object> responses = new 
LinkedBlockingQueue<Object>();
+    private final BlockingQueue<Object> responses;
 
     private volatile boolean endOfResponses;
 
@@ -81,7 +79,7 @@
 
         this.id = id;
         this.message = message;
-        this.useResponseQueue = useResponseQueue;
+        this.responses = useResponseQueue ? new LinkedBlockingQueue<Object>() 
: null;
         this.timeoutMillis = unit.toMillis(timeout);
     }
 
@@ -98,7 +96,7 @@
     }
 
     public boolean isUseResponseQueue() {
-        return useResponseQueue;
+        return responses != null;
     }
 
     public boolean hasResponse() {
@@ -143,14 +141,14 @@
     }
 
     private void chechEndOfResponses() {
-        if (endOfResponses && responses.isEmpty() && useResponseQueue) {
+        if (responses != null && endOfResponses && responses.isEmpty()) {
             throw new NoSuchElementException(
                     "All responses has been retrieved already.");
         }
     }
 
     private void checkUseResponseQueue() {
-        if (!useResponseQueue) {
+        if (responses == null) {
             throw new UnsupportedOperationException(
                     "Response queue is not available; useResponseQueue is 
false.");
         }
@@ -169,7 +167,7 @@
     }
 
     private void signal0(Object answer) {
-        if (useResponseQueue) {
+        if (responses != null) {
             responses.add(answer);
         }
     }


Reply via email to