Author: chirino
Date: Fri Feb 13 13:20:57 2009
New Revision: 744106

URL: http://svn.apache.org/viewvc?rev=744106&view=rev
Log:
Small optimization to avoid generating EOFExceptions while parsing from a in 
memory buffer.

Modified:
    
activemq/activemq-protobuf/trunk/activemq-protobuf/src/main/java/org/apache/activemq/protobuf/CodedInputStream.java

Modified: 
activemq/activemq-protobuf/trunk/activemq-protobuf/src/main/java/org/apache/activemq/protobuf/CodedInputStream.java
URL: 
http://svn.apache.org/viewvc/activemq/activemq-protobuf/trunk/activemq-protobuf/src/main/java/org/apache/activemq/protobuf/CodedInputStream.java?rev=744106&r1=744105&r2=744106&view=diff
==============================================================================
--- 
activemq/activemq-protobuf/trunk/activemq-protobuf/src/main/java/org/apache/activemq/protobuf/CodedInputStream.java
 (original)
+++ 
activemq/activemq-protobuf/trunk/activemq-protobuf/src/main/java/org/apache/activemq/protobuf/CodedInputStream.java
 Fri Feb 13 13:20:57 2009
@@ -49,10 +49,12 @@
 
     public CodedInputStream(Buffer data) {
         this(new BufferInputStream(data));
+        limit = data.length;
     }
 
     public CodedInputStream(byte[] data) {
         this(new BufferInputStream(data));
+        limit = data.length;
     }
 
     /**
@@ -62,6 +64,10 @@
      * number.
      */
     public int readTag() throws IOException {
+        if( pos >= limit ) {
+            lastTag=0;
+            return 0;
+        }
         try {
             lastTag = readRawVarint32();
             if (lastTag == 0) {
@@ -75,6 +81,7 @@
         }
     }
 
+    
     /**
      * Verifies that the last call to readTag() returned the given tag value.
      * This is used to verify that a nested group ended with the correct end


Reply via email to