Author: rgodfrey
Date: Mon May 28 11:50:52 2012
New Revision: 1343209

URL: http://svn.apache.org/viewvc?rev=1343209&view=rev
Log:
Proton-J : fix input method to return consumed rather than unconsumed bytes

Modified:
    
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/EndpointImpl.java
    
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/FrameParser.java

Modified: 
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/EndpointImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/EndpointImpl.java?rev=1343209&r1=1343208&r2=1343209&view=diff
==============================================================================
--- 
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/EndpointImpl.java
 (original)
+++ 
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/EndpointImpl.java
 Mon May 28 11:50:52 2012
@@ -28,7 +28,7 @@ import org.apache.qpid.proton.engine.End
 public abstract class EndpointImpl implements Endpoint
 {
     private EndpointState _localState = EndpointState.UNINITIALIZED;
-    private EndpointState _remoteState;
+    private EndpointState _remoteState = EndpointState.UNINITIALIZED;
     private EndpointError _localError;
     private EndpointError _remoteError;
     private boolean _modified;

Modified: 
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/FrameParser.java
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/FrameParser.java?rev=1343209&r1=1343208&r2=1343209&view=diff
==============================================================================
--- 
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/FrameParser.java
 (original)
+++ 
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/FrameParser.java
 Mon May 28 11:50:52 2012
@@ -84,29 +84,30 @@ class FrameParser
         _frameBodyHandler = frameBodyHandler;
     }
 
-    public int input(byte[] bytes, int offset, int length)
+    public int input(byte[] bytes, int offset, final int length)
     {
+        int unconsumed = length;
         EndpointError frameParsingError = null;
         int size = _size;
         State state = _state;
         ByteBuffer oldIn = null;
         if(_ignore != 0)
         {
-            if(length > _ignore)
+            if(unconsumed > _ignore)
             {
                 offset+=_ignore;
-                length -= _ignore;
+                unconsumed -= _ignore;
 
                 _ignore = 0;
             }
             else
             {
-                _ignore-=length;
-                return length;
+                _ignore-=unconsumed;
+                return unconsumed;
             }
         }
 
-        ByteBuffer in = ByteBuffer.wrap(bytes, offset, length);
+        ByteBuffer in = ByteBuffer.wrap(bytes, offset, unconsumed);
 
         while(in.hasRemaining() && state != State.ERROR)
         {
@@ -284,7 +285,7 @@ class FrameParser
 
         _localError = frameParsingError;
 
-        return _state == State.ERROR ? -1 : length;
+        return _state == State.ERROR ? -1 : length - unconsumed;
     }
 
     private void reset()



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to