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 2017/12/08 11:18:24 UTC
qpid-proton-j git commit: PROTON-1708: simplify the look-ahead for
map element type constructors, remove some unused code
Repository: qpid-proton-j
Updated Branches:
refs/heads/master c82762676 -> c55d88c23
PROTON-1708: simplify the look-ahead for map element type constructors, remove some unused code
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/commit/c55d88c2
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/tree/c55d88c2
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton-j/diff/c55d88c2
Branch: refs/heads/master
Commit: c55d88c23f3870f68e3a3e90a88ea80ee4f89697
Parents: c827626
Author: Robbie Gemmell <ro...@apache.org>
Authored: Fri Dec 8 11:17:33 2017 +0000
Committer: Robbie Gemmell <ro...@apache.org>
Committed: Fri Dec 8 11:17:33 2017 +0000
----------------------------------------------------------------------
.../org/apache/qpid/proton/codec/MapType.java | 24 +++++---------------
1 file changed, 6 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/c55d88c2/proton-j/src/main/java/org/apache/qpid/proton/codec/MapType.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/codec/MapType.java b/proton-j/src/main/java/org/apache/qpid/proton/codec/MapType.java
index eba075a..72d1bbd 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/codec/MapType.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/codec/MapType.java
@@ -26,7 +26,6 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
-import java.util.Map.Entry;
public class MapType extends AbstractPrimitiveType<Map>
{
@@ -96,18 +95,6 @@ public class MapType extends AbstractPrimitiveType<Map>
return len;
}
- private AMQPType<?> getKeyEncoding(EncoderImpl encoder, Object key)
- {
- if (fixedKeyType != null)
- {
- return fixedKeyType;
- }
- else
- {
- return encoder.getType(key);
- }
- }
-
private static TypeConstructor<?> findNextDecoder(DecoderImpl decoder, ByteBuffer buffer, TypeConstructor<?> previousConstructor)
{
if (previousConstructor == null)
@@ -116,12 +103,9 @@ public class MapType extends AbstractPrimitiveType<Map>
}
else
{
- buffer.mark();
-
- byte encodingCode = buffer.get();
+ byte encodingCode = buffer.get(buffer.position());
if (encodingCode == EncodingCodes.DESCRIBED_TYPE_INDICATOR || !(previousConstructor instanceof PrimitiveTypeEncoding<?>))
{
- buffer.reset();
return decoder.readConstructor();
}
else
@@ -129,9 +113,13 @@ public class MapType extends AbstractPrimitiveType<Map>
PrimitiveTypeEncoding<?> primitiveConstructor = (PrimitiveTypeEncoding<?>) previousConstructor;
if (encodingCode != primitiveConstructor.getEncodingCode())
{
- buffer.reset();
return decoder.readConstructor();
}
+ else
+ {
+ // consume the encoding code byte for real
+ encodingCode = buffer.get();
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org