You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2015/07/23 14:06:08 UTC

[05/10] qpid-proton git commit: PROTON-955: only pass the payload that will be included in the transfer, not the full remaining payload

PROTON-955: only pass the payload that will be included in the transfer, not the full remaining payload


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/b0f3a987
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/b0f3a987
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/b0f3a987

Branch: refs/heads/master
Commit: b0f3a9873fa0cb430c69ac3dd5fa262e338f7263
Parents: c72ec77
Author: Robert Gemmell <ro...@apache.org>
Authored: Thu Jul 23 12:56:12 2015 +0100
Committer: Robert Gemmell <ro...@apache.org>
Committed: Thu Jul 23 12:56:12 2015 +0100

----------------------------------------------------------------------
 .../qpid/proton/engine/impl/FrameWriter.java       | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b0f3a987/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java
index 382c726..b23932a 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java
@@ -146,10 +146,19 @@ class FrameWriter
             writePerformative(frameBody);
         }
 
+        int capacity;
+        if (_maxFrameSize > 0) {
+            capacity = _maxFrameSize - _performativeSize;
+        } else {
+            capacity = Integer.MAX_VALUE;
+        }
+        int payloadSize = Math.min(payload == null ? 0 : payload.remaining(), capacity);
+
         ByteBuffer originalPayload = null;
         if( payload!=null )
         {
             originalPayload = payload.duplicate();
+            originalPayload.limit(payload.position() + payloadSize);
         }
 
         // XXX: this is a bit of a hack but it eliminates duplicate
@@ -165,14 +174,6 @@ class FrameWriter
             }
         }
 
-        int capacity;
-        if (_maxFrameSize > 0) {
-            capacity = _maxFrameSize - _performativeSize;
-        } else {
-            capacity = Integer.MAX_VALUE;
-        }
-        int payloadSize = Math.min(payload == null ? 0 : payload.remaining(), capacity);
-
         if(payloadSize > 0)
         {
             while (_buffer.remaining() < payloadSize) {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org