Could the people who did the ClientConnectionDebug stuff please have a
look at the TODO item below. I don't think that the code is executed
in the right place.

Andreas


---------- Forwarded message ----------
From:  <veit...@apache.org>
Date: Sat, May 15, 2010 at 21:15
Subject: svn commit: r944701 -
/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientHandler.java
To: comm...@synapse.apache.org


Author: veithen
Date: Sat May 15 19:15:43 2010
New Revision: 944701

URL: http://svn.apache.org/viewvc?rev=944701&view=rev
Log:
Take into account that the encoder may switch to completed even if
bytesWritten == 0.

Modified:
   
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientHandler.java

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientHandler.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientHandler.java?rev=944701&r1=944700&r2=944701&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientHandler.java
(original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientHandler.java
Sat May 15 19:15:43 2010
@@ -555,11 +555,21 @@ public class ClientHandler implements NH

        try {
            int bytesWritten = outBuf.produceContent(encoder);
-            if (metrics != null && bytesWritten > 0) {
-                if (metrics.getLevel() == MetricsCollector.LEVEL_FULL) {
-
metrics.incrementBytesSent(getMessageContext(conn), bytesWritten);
-                } else {
-                    metrics.incrementBytesSent(bytesWritten);
+            if (metrics != null) {
+                if (bytesWritten > 0) {
+                    if (metrics.getLevel() == MetricsCollector.LEVEL_FULL) {
+
metrics.incrementBytesSent(getMessageContext(conn), bytesWritten);
+                    } else {
+                        metrics.incrementBytesSent(bytesWritten);
+                    }
+
+                    // TODO: executing this when metrics != 0 &&
bytesWritten > 0 seems strange;
+                    //       shouldn't the condition be
encoder.isCompleted() ?!?!?
+                    ClientConnectionDebug ccd = (ClientConnectionDebug)
+                            context.getAttribute(CLIENT_CONNECTION_DEBUG);
+                    if (ccd != null) {
+                        ccd.recordRequestCompletionTime();
+                    }
                }

                if (encoder.isCompleted()) {
@@ -569,12 +579,6 @@ public class ClientHandler implements NH
                        metrics.incrementMessagesSent();
                    }
                }
-
-                ClientConnectionDebug ccd = (ClientConnectionDebug)
-                        context.getAttribute(CLIENT_CONNECTION_DEBUG);
-                if (ccd != null) {
-                    ccd.recordRequestCompletionTime();
-                }
            }

        } catch (IOException e) {

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org
For additional commands, e-mail: dev-h...@synapse.apache.org

Reply via email to