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) {