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 <[email protected]> Authored: Fri Dec 8 11:17:33 2017 +0000 Committer: Robbie Gemmell <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
