This is an automated email from the ASF dual-hosted git repository.
tabish pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-protonj2.git
The following commit(s) were added to refs/heads/main by this push:
new 49d9f16d PROTON-2637 Streamline decoder types lookups of the decoder
instance
49d9f16d is described below
commit 49d9f16d67b487ce2f6475c1987d312dd7280561
Author: Timothy Bish <[email protected]>
AuthorDate: Fri Oct 28 15:12:04 2022 -0400
PROTON-2637 Streamline decoder types lookups of the decoder instance
Reduce number of repeated calls to get the decoder instance when we know
it isn't changing.
---
.../primitives/AbstractListTypeDecoder.java | 8 ++-
.../primitives/AbstractMapTypeDecoder.java | 14 +++--
.../decoders/transport/AttachTypeDecoder.java | 70 +++++++++++-----------
.../codec/decoders/transport/BeginTypeDecoder.java | 46 +++++++-------
.../decoders/transport/DetachTypeDecoder.java | 26 ++++----
.../decoders/transport/DispositionTypeDecoder.java | 38 ++++++------
.../codec/decoders/transport/EndTypeDecoder.java | 28 ++-------
.../transport/ErrorConditionTypeDecoder.java | 26 ++++----
.../codec/decoders/transport/FlowTypeDecoder.java | 58 +++++++++---------
.../codec/decoders/transport/OpenTypeDecoder.java | 54 +++++++++--------
.../decoders/transport/TransferTypeDecoder.java | 58 +++++++++---------
11 files changed, 218 insertions(+), 208 deletions(-)
diff --git
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/AbstractListTypeDecoder.java
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/AbstractListTypeDecoder.java
index 413afe92..2c0d9860 100644
---
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/AbstractListTypeDecoder.java
+++
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/AbstractListTypeDecoder.java
@@ -23,7 +23,9 @@ import java.util.List;
import org.apache.qpid.protonj2.buffer.ProtonBuffer;
import org.apache.qpid.protonj2.codec.DecodeException;
+import org.apache.qpid.protonj2.codec.Decoder;
import org.apache.qpid.protonj2.codec.DecoderState;
+import org.apache.qpid.protonj2.codec.StreamDecoder;
import org.apache.qpid.protonj2.codec.StreamDecoderState;
import org.apache.qpid.protonj2.codec.decoders.AbstractPrimitiveTypeDecoder;
@@ -53,8 +55,9 @@ public abstract class AbstractListTypeDecoder extends
AbstractPrimitiveTypeDecod
}
final List<Object> list = new ArrayList<>(count);
+ final Decoder decoder = state.getDecoder();
for (int i = 0; i < count; i++) {
- list.add(state.getDecoder().readObject(buffer, state));
+ list.add(decoder.readObject(buffer, state));
}
return list;
@@ -71,8 +74,9 @@ public abstract class AbstractListTypeDecoder extends
AbstractPrimitiveTypeDecod
final int count = readCount(stream);
final List<Object> list = new ArrayList<>(count);
+ final StreamDecoder decoder = state.getDecoder();
for (int i = 0; i < count; i++) {
- list.add(state.getDecoder().readObject(stream, state));
+ list.add(decoder.readObject(stream, state));
}
return list;
diff --git
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/AbstractMapTypeDecoder.java
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/AbstractMapTypeDecoder.java
index 09d36985..fa1c4b20 100644
---
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/AbstractMapTypeDecoder.java
+++
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/primitives/AbstractMapTypeDecoder.java
@@ -23,7 +23,9 @@ import java.util.Map;
import org.apache.qpid.protonj2.buffer.ProtonBuffer;
import org.apache.qpid.protonj2.codec.DecodeException;
+import org.apache.qpid.protonj2.codec.Decoder;
import org.apache.qpid.protonj2.codec.DecoderState;
+import org.apache.qpid.protonj2.codec.StreamDecoder;
import org.apache.qpid.protonj2.codec.StreamDecoderState;
import org.apache.qpid.protonj2.codec.decoders.AbstractPrimitiveTypeDecoder;
@@ -50,11 +52,13 @@ public abstract class AbstractMapTypeDecoder extends
AbstractPrimitiveTypeDecode
"Map encoded number of elements %d is not an even number.",
count));
}
+ final Decoder decoder = state.getDecoder();
+
// Count include both key and value so we must include that in the loop
final Map<Object, Object> map = new LinkedHashMap<>(count);
for (int i = 0; i < count / 2; i++) {
- Object key = state.getDecoder().readObject(buffer, state);
- Object value = state.getDecoder().readObject(buffer, state);
+ Object key = decoder.readObject(buffer, state);
+ Object value = decoder.readObject(buffer, state);
map.put(key, value);
}
@@ -77,11 +81,13 @@ public abstract class AbstractMapTypeDecoder extends
AbstractPrimitiveTypeDecode
"Map encoded number of elements %d is not an even number.",
count));
}
+ final StreamDecoder decoder = state.getDecoder();
+
// Count include both key and value so we must include that in the loop
final Map<Object, Object> map = new LinkedHashMap<>(count);
for (int i = 0; i < count / 2; i++) {
- Object key = state.getDecoder().readObject(stream, state);
- Object value = state.getDecoder().readObject(stream, state);
+ Object key = decoder.readObject(stream, state);
+ Object value = decoder.readObject(stream, state);
map.put(key, value);
}
diff --git
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/AttachTypeDecoder.java
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/AttachTypeDecoder.java
index 766809a8..13c4228f 100644
---
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/AttachTypeDecoder.java
+++
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/AttachTypeDecoder.java
@@ -20,8 +20,10 @@ import java.io.InputStream;
import org.apache.qpid.protonj2.buffer.ProtonBuffer;
import org.apache.qpid.protonj2.codec.DecodeException;
+import org.apache.qpid.protonj2.codec.Decoder;
import org.apache.qpid.protonj2.codec.DecoderState;
import org.apache.qpid.protonj2.codec.EncodingCodes;
+import org.apache.qpid.protonj2.codec.StreamDecoder;
import org.apache.qpid.protonj2.codec.StreamDecoderState;
import org.apache.qpid.protonj2.codec.StreamTypeDecoder;
import org.apache.qpid.protonj2.codec.TypeDecoder;
@@ -64,7 +66,7 @@ public final class AttachTypeDecoder extends
AbstractDescribedTypeDecoder<Attach
public Attach readValue(ProtonBuffer buffer, DecoderState state) throws
DecodeException {
final TypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(buffer, state);
- return readAttach(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readAttach(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -73,7 +75,7 @@ public final class AttachTypeDecoder extends
AbstractDescribedTypeDecoder<Attach
final Attach[] result = new Attach[count];
for (int i = 0; i < count; ++i) {
- result[i] = readAttach(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readAttach(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -88,7 +90,7 @@ public final class AttachTypeDecoder extends
AbstractDescribedTypeDecoder<Attach
decoder.skipValue(buffer, state);
}
- private Attach readAttach(ProtonBuffer buffer, DecoderState state,
ListTypeDecoder listDecoder) throws DecodeException {
+ private Attach readAttach(ProtonBuffer buffer, Decoder decoder,
DecoderState state, ListTypeDecoder listDecoder) throws DecodeException {
final Attach attach = new Attach();
@SuppressWarnings("unused")
@@ -120,49 +122,49 @@ public final class AttachTypeDecoder extends
AbstractDescribedTypeDecoder<Attach
switch (index) {
case 0:
- attach.setName(state.getDecoder().readString(buffer,
state));
+ attach.setName(decoder.readString(buffer, state));
break;
case 1:
-
attach.setHandle(state.getDecoder().readUnsignedInteger(buffer, state, 0l));
+ attach.setHandle(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 2:
- Boolean role = state.getDecoder().readBoolean(buffer,
state);
+ Boolean role = decoder.readBoolean(buffer, state);
attach.setRole(Boolean.TRUE.equals(role) ? Role.RECEIVER :
Role.SENDER);
break;
case 3:
- byte sndSettleMode =
state.getDecoder().readUnsignedByte(buffer, state, (byte) 2);
+ byte sndSettleMode = decoder.readUnsignedByte(buffer,
state, (byte) 2);
attach.setSenderSettleMode(SenderSettleMode.valueOf(sndSettleMode));
break;
case 4:
- byte rcvSettleMode =
state.getDecoder().readUnsignedByte(buffer, state, (byte) 0);
+ byte rcvSettleMode = decoder.readUnsignedByte(buffer,
state, (byte) 0);
attach.setReceiverSettleMode(ReceiverSettleMode.valueOf(rcvSettleMode));
break;
case 5:
- attach.setSource(state.getDecoder().readObject(buffer,
state, Source.class));
+ attach.setSource(decoder.readObject(buffer, state,
Source.class));
break;
case 6:
- attach.setTarget(state.getDecoder().readObject(buffer,
state, Terminus.class));
+ attach.setTarget(decoder.readObject(buffer, state,
Terminus.class));
break;
case 7:
- attach.setUnsettled(state.getDecoder().readMap(buffer,
state));
+ attach.setUnsettled(decoder.readMap(buffer, state));
break;
case 8:
-
attach.setIncompleteUnsettled(state.getDecoder().readBoolean(buffer, state,
true));
+ attach.setIncompleteUnsettled(decoder.readBoolean(buffer,
state, true));
break;
case 9:
-
attach.setInitialDeliveryCount(state.getDecoder().readUnsignedInteger(buffer,
state, 0l));
+
attach.setInitialDeliveryCount(decoder.readUnsignedInteger(buffer, state, 0l));
break;
case 10:
-
attach.setMaxMessageSize(state.getDecoder().readUnsignedLong(buffer, state));
+ attach.setMaxMessageSize(decoder.readUnsignedLong(buffer,
state));
break;
case 11:
-
attach.setOfferedCapabilities(state.getDecoder().readMultiple(buffer, state,
Symbol.class));
+ attach.setOfferedCapabilities(decoder.readMultiple(buffer,
state, Symbol.class));
break;
case 12:
-
attach.setDesiredCapabilities(state.getDecoder().readMultiple(buffer, state,
Symbol.class));
+ attach.setDesiredCapabilities(decoder.readMultiple(buffer,
state, Symbol.class));
break;
case 13:
- attach.setProperties(state.getDecoder().readMap(buffer,
state));
+ attach.setProperties(decoder.readMap(buffer, state));
break;
}
}
@@ -174,7 +176,7 @@ public final class AttachTypeDecoder extends
AbstractDescribedTypeDecoder<Attach
public Attach readValue(InputStream stream, StreamDecoderState state)
throws DecodeException {
final StreamTypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(stream, state);
- return readAttach(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readAttach(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -183,7 +185,7 @@ public final class AttachTypeDecoder extends
AbstractDescribedTypeDecoder<Attach
final Attach[] result = new Attach[count];
for (int i = 0; i < count; ++i) {
- result[i] = readAttach(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readAttach(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -198,7 +200,7 @@ public final class AttachTypeDecoder extends
AbstractDescribedTypeDecoder<Attach
decoder.skipValue(stream, state);
}
- private Attach readAttach(InputStream stream, StreamDecoderState state,
ListTypeDecoder listDecoder) throws DecodeException {
+ private Attach readAttach(InputStream stream, StreamDecoder decoder,
StreamDecoderState state, ListTypeDecoder listDecoder) throws DecodeException {
final Attach attach = new Attach();
@SuppressWarnings("unused")
@@ -234,49 +236,49 @@ public final class AttachTypeDecoder extends
AbstractDescribedTypeDecoder<Attach
switch (index) {
case 0:
- attach.setName(state.getDecoder().readString(stream,
state));
+ attach.setName(decoder.readString(stream, state));
break;
case 1:
-
attach.setHandle(state.getDecoder().readUnsignedInteger(stream, state, 0l));
+ attach.setHandle(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 2:
- Boolean role = state.getDecoder().readBoolean(stream,
state);
+ Boolean role = decoder.readBoolean(stream, state);
attach.setRole(Boolean.TRUE.equals(role) ? Role.RECEIVER :
Role.SENDER);
break;
case 3:
- byte sndSettleMode =
state.getDecoder().readUnsignedByte(stream, state, (byte) 2);
+ byte sndSettleMode = decoder.readUnsignedByte(stream,
state, (byte) 2);
attach.setSenderSettleMode(SenderSettleMode.valueOf(sndSettleMode));
break;
case 4:
- byte rcvSettleMode =
state.getDecoder().readUnsignedByte(stream, state, (byte) 0);
+ byte rcvSettleMode = decoder.readUnsignedByte(stream,
state, (byte) 0);
attach.setReceiverSettleMode(ReceiverSettleMode.valueOf(rcvSettleMode));
break;
case 5:
- attach.setSource(state.getDecoder().readObject(stream,
state, Source.class));
+ attach.setSource(decoder.readObject(stream, state,
Source.class));
break;
case 6:
- attach.setTarget(state.getDecoder().readObject(stream,
state, Terminus.class));
+ attach.setTarget(decoder.readObject(stream, state,
Terminus.class));
break;
case 7:
- attach.setUnsettled(state.getDecoder().readMap(stream,
state));
+ attach.setUnsettled(decoder.readMap(stream, state));
break;
case 8:
-
attach.setIncompleteUnsettled(state.getDecoder().readBoolean(stream, state,
true));
+ attach.setIncompleteUnsettled(decoder.readBoolean(stream,
state, true));
break;
case 9:
-
attach.setInitialDeliveryCount(state.getDecoder().readUnsignedInteger(stream,
state, 0l));
+
attach.setInitialDeliveryCount(decoder.readUnsignedInteger(stream, state, 0l));
break;
case 10:
-
attach.setMaxMessageSize(state.getDecoder().readUnsignedLong(stream, state));
+ attach.setMaxMessageSize(decoder.readUnsignedLong(stream,
state));
break;
case 11:
-
attach.setOfferedCapabilities(state.getDecoder().readMultiple(stream, state,
Symbol.class));
+ attach.setOfferedCapabilities(decoder.readMultiple(stream,
state, Symbol.class));
break;
case 12:
-
attach.setDesiredCapabilities(state.getDecoder().readMultiple(stream, state,
Symbol.class));
+ attach.setDesiredCapabilities(decoder.readMultiple(stream,
state, Symbol.class));
break;
case 13:
- attach.setProperties(state.getDecoder().readMap(stream,
state));
+ attach.setProperties(decoder.readMap(stream, state));
break;
}
}
diff --git
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/BeginTypeDecoder.java
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/BeginTypeDecoder.java
index c7e76fe2..a9206ec2 100644
---
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/BeginTypeDecoder.java
+++
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/BeginTypeDecoder.java
@@ -20,8 +20,10 @@ import java.io.InputStream;
import org.apache.qpid.protonj2.buffer.ProtonBuffer;
import org.apache.qpid.protonj2.codec.DecodeException;
+import org.apache.qpid.protonj2.codec.Decoder;
import org.apache.qpid.protonj2.codec.DecoderState;
import org.apache.qpid.protonj2.codec.EncodingCodes;
+import org.apache.qpid.protonj2.codec.StreamDecoder;
import org.apache.qpid.protonj2.codec.StreamDecoderState;
import org.apache.qpid.protonj2.codec.StreamTypeDecoder;
import org.apache.qpid.protonj2.codec.TypeDecoder;
@@ -59,7 +61,7 @@ public final class BeginTypeDecoder extends
AbstractDescribedTypeDecoder<Begin>
public Begin readValue(ProtonBuffer buffer, DecoderState state) throws
DecodeException {
final TypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(buffer, state);
- return readBegin(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readBegin(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -68,7 +70,7 @@ public final class BeginTypeDecoder extends
AbstractDescribedTypeDecoder<Begin>
final Begin[] result = new Begin[count];
for (int i = 0; i < count; ++i) {
- result[i] = readBegin(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readBegin(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -83,7 +85,7 @@ public final class BeginTypeDecoder extends
AbstractDescribedTypeDecoder<Begin>
decoder.skipValue(buffer, state);
}
- private Begin readBegin(ProtonBuffer buffer, DecoderState state,
ListTypeDecoder listDecoder) throws DecodeException {
+ private Begin readBegin(ProtonBuffer buffer, Decoder decoder, DecoderState
state, ListTypeDecoder listDecoder) throws DecodeException {
final Begin begin = new Begin();
@SuppressWarnings("unused")
@@ -115,28 +117,28 @@ public final class BeginTypeDecoder extends
AbstractDescribedTypeDecoder<Begin>
switch (index) {
case 0:
-
begin.setRemoteChannel(state.getDecoder().readUnsignedShort(buffer, state, 0));
+ begin.setRemoteChannel(decoder.readUnsignedShort(buffer,
state, 0));
break;
case 1:
-
begin.setNextOutgoingId(state.getDecoder().readUnsignedInteger(buffer, state,
0l));
+
begin.setNextOutgoingId(decoder.readUnsignedInteger(buffer, state, 0l));
break;
case 2:
-
begin.setIncomingWindow(state.getDecoder().readUnsignedInteger(buffer, state,
0l));
+
begin.setIncomingWindow(decoder.readUnsignedInteger(buffer, state, 0l));
break;
case 3:
-
begin.setOutgoingWindow(state.getDecoder().readUnsignedInteger(buffer, state,
0l));
+
begin.setOutgoingWindow(decoder.readUnsignedInteger(buffer, state, 0l));
break;
case 4:
-
begin.setHandleMax(state.getDecoder().readUnsignedInteger(buffer, state, 0l));
+ begin.setHandleMax(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 5:
-
begin.setOfferedCapabilities(state.getDecoder().readMultiple(buffer, state,
Symbol.class));
+ begin.setOfferedCapabilities(decoder.readMultiple(buffer,
state, Symbol.class));
break;
case 6:
-
begin.setDesiredCapabilities(state.getDecoder().readMultiple(buffer, state,
Symbol.class));
+ begin.setDesiredCapabilities(decoder.readMultiple(buffer,
state, Symbol.class));
break;
case 7:
- begin.setProperties(state.getDecoder().readMap(buffer,
state));
+ begin.setProperties(decoder.readMap(buffer, state));
break;
}
}
@@ -148,7 +150,7 @@ public final class BeginTypeDecoder extends
AbstractDescribedTypeDecoder<Begin>
public Begin readValue(InputStream stream, StreamDecoderState state)
throws DecodeException {
final StreamTypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(stream, state);
- return readBegin(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readBegin(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -157,7 +159,7 @@ public final class BeginTypeDecoder extends
AbstractDescribedTypeDecoder<Begin>
final Begin[] result = new Begin[count];
for (int i = 0; i < count; ++i) {
- result[i] = readBegin(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readBegin(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -172,7 +174,7 @@ public final class BeginTypeDecoder extends
AbstractDescribedTypeDecoder<Begin>
decoder.skipValue(stream, state);
}
- private Begin readBegin(InputStream stream, StreamDecoderState state,
ListTypeDecoder listDecoder) throws DecodeException {
+ private Begin readBegin(InputStream stream, StreamDecoder decoder,
StreamDecoderState state, ListTypeDecoder listDecoder) throws DecodeException {
final Begin begin = new Begin();
@SuppressWarnings("unused")
@@ -208,28 +210,28 @@ public final class BeginTypeDecoder extends
AbstractDescribedTypeDecoder<Begin>
switch (index) {
case 0:
-
begin.setRemoteChannel(state.getDecoder().readUnsignedShort(stream, state, 0));
+ begin.setRemoteChannel(decoder.readUnsignedShort(stream,
state, 0));
break;
case 1:
-
begin.setNextOutgoingId(state.getDecoder().readUnsignedInteger(stream, state,
0l));
+
begin.setNextOutgoingId(decoder.readUnsignedInteger(stream, state, 0l));
break;
case 2:
-
begin.setIncomingWindow(state.getDecoder().readUnsignedInteger(stream, state,
0l));
+
begin.setIncomingWindow(decoder.readUnsignedInteger(stream, state, 0l));
break;
case 3:
-
begin.setOutgoingWindow(state.getDecoder().readUnsignedInteger(stream, state,
0l));
+
begin.setOutgoingWindow(decoder.readUnsignedInteger(stream, state, 0l));
break;
case 4:
-
begin.setHandleMax(state.getDecoder().readUnsignedInteger(stream, state, 0l));
+ begin.setHandleMax(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 5:
-
begin.setOfferedCapabilities(state.getDecoder().readMultiple(stream, state,
Symbol.class));
+ begin.setOfferedCapabilities(decoder.readMultiple(stream,
state, Symbol.class));
break;
case 6:
-
begin.setDesiredCapabilities(state.getDecoder().readMultiple(stream, state,
Symbol.class));
+ begin.setDesiredCapabilities(decoder.readMultiple(stream,
state, Symbol.class));
break;
case 7:
- begin.setProperties(state.getDecoder().readMap(stream,
state));
+ begin.setProperties(decoder.readMap(stream, state));
break;
}
}
diff --git
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DetachTypeDecoder.java
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DetachTypeDecoder.java
index 655ae64c..4bcb5cb2 100644
---
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DetachTypeDecoder.java
+++
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DetachTypeDecoder.java
@@ -20,8 +20,10 @@ import java.io.InputStream;
import org.apache.qpid.protonj2.buffer.ProtonBuffer;
import org.apache.qpid.protonj2.codec.DecodeException;
+import org.apache.qpid.protonj2.codec.Decoder;
import org.apache.qpid.protonj2.codec.DecoderState;
import org.apache.qpid.protonj2.codec.EncodingCodes;
+import org.apache.qpid.protonj2.codec.StreamDecoder;
import org.apache.qpid.protonj2.codec.StreamDecoderState;
import org.apache.qpid.protonj2.codec.StreamTypeDecoder;
import org.apache.qpid.protonj2.codec.TypeDecoder;
@@ -60,7 +62,7 @@ public final class DetachTypeDecoder extends
AbstractDescribedTypeDecoder<Detach
public Detach readValue(ProtonBuffer buffer, DecoderState state) throws
DecodeException {
final TypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(buffer, state);
- return readDetach(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readDetach(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -69,7 +71,7 @@ public final class DetachTypeDecoder extends
AbstractDescribedTypeDecoder<Detach
final Detach[] result = new Detach[count];
for (int i = 0; i < count; ++i) {
- result[i] = readDetach(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readDetach(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -84,7 +86,7 @@ public final class DetachTypeDecoder extends
AbstractDescribedTypeDecoder<Detach
decoder.skipValue(buffer, state);
}
- private Detach readDetach(ProtonBuffer buffer, DecoderState state,
ListTypeDecoder listDecoder) throws DecodeException {
+ private Detach readDetach(ProtonBuffer buffer, Decoder decoder,
DecoderState state, ListTypeDecoder listDecoder) throws DecodeException {
final Detach detach = new Detach();
@SuppressWarnings("unused")
@@ -114,13 +116,13 @@ public final class DetachTypeDecoder extends
AbstractDescribedTypeDecoder<Detach
switch (index) {
case 0:
-
detach.setHandle(state.getDecoder().readUnsignedInteger(buffer, state, 0l));
+ detach.setHandle(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 1:
- detach.setClosed(state.getDecoder().readBoolean(buffer,
state, false));
+ detach.setClosed(decoder.readBoolean(buffer, state,
false));
break;
case 2:
- detach.setError(state.getDecoder().readObject(buffer,
state, ErrorCondition.class));
+ detach.setError(decoder.readObject(buffer, state,
ErrorCondition.class));
break;
}
}
@@ -132,7 +134,7 @@ public final class DetachTypeDecoder extends
AbstractDescribedTypeDecoder<Detach
public Detach readValue(InputStream stream, StreamDecoderState state)
throws DecodeException {
final StreamTypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(stream, state);
- return readDetach(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readDetach(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -141,7 +143,7 @@ public final class DetachTypeDecoder extends
AbstractDescribedTypeDecoder<Detach
final Detach[] result = new Detach[count];
for (int i = 0; i < count; ++i) {
- result[i] = readDetach(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readDetach(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -156,7 +158,7 @@ public final class DetachTypeDecoder extends
AbstractDescribedTypeDecoder<Detach
decoder.skipValue(stream, state);
}
- private Detach readDetach(InputStream stream, StreamDecoderState state,
ListTypeDecoder listDecoder) throws DecodeException {
+ private Detach readDetach(InputStream stream, StreamDecoder decoder,
StreamDecoderState state, ListTypeDecoder listDecoder) throws DecodeException {
final Detach detach = new Detach();
@SuppressWarnings("unused")
@@ -191,13 +193,13 @@ public final class DetachTypeDecoder extends
AbstractDescribedTypeDecoder<Detach
switch (index) {
case 0:
-
detach.setHandle(state.getDecoder().readUnsignedInteger(stream, state, 0l));
+ detach.setHandle(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 1:
- detach.setClosed(state.getDecoder().readBoolean(stream,
state, false));
+ detach.setClosed(decoder.readBoolean(stream, state,
false));
break;
case 2:
- detach.setError(state.getDecoder().readObject(stream,
state, ErrorCondition.class));
+ detach.setError(decoder.readObject(stream, state,
ErrorCondition.class));
break;
}
}
diff --git
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DispositionTypeDecoder.java
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DispositionTypeDecoder.java
index b2d8879b..fcad0449 100644
---
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DispositionTypeDecoder.java
+++
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/DispositionTypeDecoder.java
@@ -20,8 +20,10 @@ import java.io.InputStream;
import org.apache.qpid.protonj2.buffer.ProtonBuffer;
import org.apache.qpid.protonj2.codec.DecodeException;
+import org.apache.qpid.protonj2.codec.Decoder;
import org.apache.qpid.protonj2.codec.DecoderState;
import org.apache.qpid.protonj2.codec.EncodingCodes;
+import org.apache.qpid.protonj2.codec.StreamDecoder;
import org.apache.qpid.protonj2.codec.StreamDecoderState;
import org.apache.qpid.protonj2.codec.StreamTypeDecoder;
import org.apache.qpid.protonj2.codec.TypeDecoder;
@@ -61,7 +63,7 @@ public final class DispositionTypeDecoder extends
AbstractDescribedTypeDecoder<D
public Disposition readValue(ProtonBuffer buffer, DecoderState state)
throws DecodeException {
final TypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(buffer, state);
- return readDisposition(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readDisposition(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -70,7 +72,7 @@ public final class DispositionTypeDecoder extends
AbstractDescribedTypeDecoder<D
Disposition[] result = new Disposition[count];
for (int i = 0; i < count; ++i) {
- result[i] = readDisposition(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readDisposition(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -85,7 +87,7 @@ public final class DispositionTypeDecoder extends
AbstractDescribedTypeDecoder<D
decoder.skipValue(buffer, state);
}
- private Disposition readDisposition(ProtonBuffer buffer, DecoderState
state, ListTypeDecoder listDecoder) throws DecodeException {
+ private Disposition readDisposition(ProtonBuffer buffer, Decoder decoder,
DecoderState state, ListTypeDecoder listDecoder) throws DecodeException {
final Disposition disposition = new Disposition();
@SuppressWarnings("unused")
@@ -117,22 +119,22 @@ public final class DispositionTypeDecoder extends
AbstractDescribedTypeDecoder<D
switch (index) {
case 0:
-
disposition.setRole(Boolean.TRUE.equals(state.getDecoder().readBoolean(buffer,
state)) ? Role.RECEIVER : Role.SENDER);
+
disposition.setRole(Boolean.TRUE.equals(decoder.readBoolean(buffer, state)) ?
Role.RECEIVER : Role.SENDER);
break;
case 1:
-
disposition.setFirst(state.getDecoder().readUnsignedInteger(buffer, state, 0l));
+ disposition.setFirst(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 2:
-
disposition.setLast(state.getDecoder().readUnsignedInteger(buffer, state, 0l));
+ disposition.setLast(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 3:
-
disposition.setSettled(state.getDecoder().readBoolean(buffer, state, false));
+ disposition.setSettled(decoder.readBoolean(buffer, state,
false));
break;
case 4:
- disposition.setState(state.getDecoder().readObject(buffer,
state, DeliveryState.class));
+ disposition.setState(decoder.readObject(buffer, state,
DeliveryState.class));
break;
case 5:
-
disposition.setBatchable(state.getDecoder().readBoolean(buffer, state, false));
+ disposition.setBatchable(decoder.readBoolean(buffer,
state, false));
break;
}
}
@@ -153,7 +155,7 @@ public final class DispositionTypeDecoder extends
AbstractDescribedTypeDecoder<D
public Disposition readValue(InputStream stream, StreamDecoderState state)
throws DecodeException {
final StreamTypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(stream, state);
- return readDisposition(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readDisposition(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -162,7 +164,7 @@ public final class DispositionTypeDecoder extends
AbstractDescribedTypeDecoder<D
final Disposition[] result = new Disposition[count];
for (int i = 0; i < count; ++i) {
- result[i] = readDisposition(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readDisposition(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -177,7 +179,7 @@ public final class DispositionTypeDecoder extends
AbstractDescribedTypeDecoder<D
decoder.skipValue(stream, state);
}
- private Disposition readDisposition(InputStream stream, StreamDecoderState
state, ListTypeDecoder listDecoder) throws DecodeException {
+ private Disposition readDisposition(InputStream stream, StreamDecoder
decoder, StreamDecoderState state, ListTypeDecoder listDecoder) throws
DecodeException {
final Disposition disposition = new Disposition();
@SuppressWarnings("unused")
@@ -213,22 +215,22 @@ public final class DispositionTypeDecoder extends
AbstractDescribedTypeDecoder<D
switch (index) {
case 0:
-
disposition.setRole(Boolean.TRUE.equals(state.getDecoder().readBoolean(stream,
state)) ? Role.RECEIVER : Role.SENDER);
+
disposition.setRole(Boolean.TRUE.equals(decoder.readBoolean(stream, state)) ?
Role.RECEIVER : Role.SENDER);
break;
case 1:
-
disposition.setFirst(state.getDecoder().readUnsignedInteger(stream, state, 0l));
+ disposition.setFirst(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 2:
-
disposition.setLast(state.getDecoder().readUnsignedInteger(stream, state, 0l));
+ disposition.setLast(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 3:
-
disposition.setSettled(state.getDecoder().readBoolean(stream, state, false));
+ disposition.setSettled(decoder.readBoolean(stream, state,
false));
break;
case 4:
- disposition.setState(state.getDecoder().readObject(stream,
state, DeliveryState.class));
+ disposition.setState(decoder.readObject(stream, state,
DeliveryState.class));
break;
case 5:
-
disposition.setBatchable(state.getDecoder().readBoolean(stream, state, false));
+ disposition.setBatchable(decoder.readBoolean(stream,
state, false));
break;
}
}
diff --git
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/EndTypeDecoder.java
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/EndTypeDecoder.java
index 11f5e780..3746387b 100644
---
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/EndTypeDecoder.java
+++
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/EndTypeDecoder.java
@@ -91,18 +91,10 @@ public final class EndTypeDecoder extends
AbstractDescribedTypeDecoder<End> {
if (count < MIN_END_LIST_ENTRIES) {
throw new DecodeException("Not enough entries in End list
encoding: " + count);
- }
-
- if (count > MAX_END_LIST_ENTRIES) {
+ } else if (count > MAX_END_LIST_ENTRIES) {
throw new DecodeException("To many entries in End list encoding: "
+ count);
- }
-
- for (int index = 0; index < count; ++index) {
- switch (index) {
- case 0:
- end.setError(state.getDecoder().readObject(buffer, state,
ErrorCondition.class));
- break;
- }
+ } else if (count == 1) {
+ end.setError(state.getDecoder().readObject(buffer, state,
ErrorCondition.class));
}
return end;
@@ -145,18 +137,10 @@ public final class EndTypeDecoder extends
AbstractDescribedTypeDecoder<End> {
if (count < MIN_END_LIST_ENTRIES) {
throw new DecodeException("Not enough entries in End list
encoding: " + count);
- }
-
- if (count > MAX_END_LIST_ENTRIES) {
+ } else if (count > MAX_END_LIST_ENTRIES) {
throw new DecodeException("To many entries in End list encoding: "
+ count);
- }
-
- for (int index = 0; index < count; ++index) {
- switch (index) {
- case 0:
- end.setError(state.getDecoder().readObject(stream, state,
ErrorCondition.class));
- break;
- }
+ } else if (count == 1) {
+ end.setError(state.getDecoder().readObject(stream, state,
ErrorCondition.class));
}
return end;
diff --git
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/ErrorConditionTypeDecoder.java
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/ErrorConditionTypeDecoder.java
index a8d09fd9..33efe0c6 100644
---
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/ErrorConditionTypeDecoder.java
+++
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/ErrorConditionTypeDecoder.java
@@ -21,7 +21,9 @@ import java.util.Map;
import org.apache.qpid.protonj2.buffer.ProtonBuffer;
import org.apache.qpid.protonj2.codec.DecodeException;
+import org.apache.qpid.protonj2.codec.Decoder;
import org.apache.qpid.protonj2.codec.DecoderState;
+import org.apache.qpid.protonj2.codec.StreamDecoder;
import org.apache.qpid.protonj2.codec.StreamDecoderState;
import org.apache.qpid.protonj2.codec.StreamTypeDecoder;
import org.apache.qpid.protonj2.codec.TypeDecoder;
@@ -58,7 +60,7 @@ public final class ErrorConditionTypeDecoder extends
AbstractDescribedTypeDecode
public ErrorCondition readValue(ProtonBuffer buffer, DecoderState state)
throws DecodeException {
final TypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(buffer, state);
- return readErrorCondition(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readErrorCondition(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -67,7 +69,7 @@ public final class ErrorConditionTypeDecoder extends
AbstractDescribedTypeDecode
final ErrorCondition[] result = new ErrorCondition[count];
for (int i = 0; i < count; ++i) {
- result[i] = readErrorCondition(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readErrorCondition(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -82,7 +84,7 @@ public final class ErrorConditionTypeDecoder extends
AbstractDescribedTypeDecode
decoder.skipValue(buffer, state);
}
- private ErrorCondition readErrorCondition(ProtonBuffer buffer,
DecoderState state, ListTypeDecoder listDecoder) throws DecodeException {
+ private ErrorCondition readErrorCondition(ProtonBuffer buffer, Decoder
decoder, DecoderState state, ListTypeDecoder listDecoder) throws
DecodeException {
@SuppressWarnings("unused")
final int size = listDecoder.readSize(buffer);
final int count = listDecoder.readCount(buffer);
@@ -102,13 +104,13 @@ public final class ErrorConditionTypeDecoder extends
AbstractDescribedTypeDecode
for (int index = 0; index < count; ++index) {
switch (index) {
case 0:
- condition = state.getDecoder().readSymbol(buffer, state);
+ condition = decoder.readSymbol(buffer, state);
break;
case 1:
- description = state.getDecoder().readString(buffer, state);
+ description = decoder.readString(buffer, state);
break;
case 2:
- info = state.getDecoder().readMap(buffer, state);
+ info = decoder.readMap(buffer, state);
break;
}
}
@@ -120,7 +122,7 @@ public final class ErrorConditionTypeDecoder extends
AbstractDescribedTypeDecode
public ErrorCondition readValue(InputStream stream, StreamDecoderState
state) throws DecodeException {
final StreamTypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(stream, state);
- return readErrorCondition(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readErrorCondition(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -129,7 +131,7 @@ public final class ErrorConditionTypeDecoder extends
AbstractDescribedTypeDecode
final ErrorCondition[] result = new ErrorCondition[count];
for (int i = 0; i < count; ++i) {
- result[i] = readErrorCondition(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readErrorCondition(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -144,7 +146,7 @@ public final class ErrorConditionTypeDecoder extends
AbstractDescribedTypeDecode
decoder.skipValue(stream, state);
}
- private ErrorCondition readErrorCondition(InputStream stream,
StreamDecoderState state, ListTypeDecoder listDecoder) throws DecodeException {
+ private ErrorCondition readErrorCondition(InputStream stream,
StreamDecoder decoder, StreamDecoderState state, ListTypeDecoder listDecoder)
throws DecodeException {
@SuppressWarnings("unused")
final int size = listDecoder.readSize(stream);
final int count = listDecoder.readCount(stream);
@@ -164,13 +166,13 @@ public final class ErrorConditionTypeDecoder extends
AbstractDescribedTypeDecode
for (int index = 0; index < count; ++index) {
switch (index) {
case 0:
- condition = state.getDecoder().readSymbol(stream, state);
+ condition = decoder.readSymbol(stream, state);
break;
case 1:
- description = state.getDecoder().readString(stream, state);
+ description = decoder.readString(stream, state);
break;
case 2:
- info = state.getDecoder().readMap(stream, state);
+ info = decoder.readMap(stream, state);
break;
}
}
diff --git
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/FlowTypeDecoder.java
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/FlowTypeDecoder.java
index ba831d10..7b28fe91 100644
---
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/FlowTypeDecoder.java
+++
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/FlowTypeDecoder.java
@@ -20,8 +20,10 @@ import java.io.InputStream;
import org.apache.qpid.protonj2.buffer.ProtonBuffer;
import org.apache.qpid.protonj2.codec.DecodeException;
+import org.apache.qpid.protonj2.codec.Decoder;
import org.apache.qpid.protonj2.codec.DecoderState;
import org.apache.qpid.protonj2.codec.EncodingCodes;
+import org.apache.qpid.protonj2.codec.StreamDecoder;
import org.apache.qpid.protonj2.codec.StreamDecoderState;
import org.apache.qpid.protonj2.codec.StreamTypeDecoder;
import org.apache.qpid.protonj2.codec.TypeDecoder;
@@ -59,7 +61,7 @@ public final class FlowTypeDecoder extends
AbstractDescribedTypeDecoder<Flow> {
public Flow readValue(ProtonBuffer buffer, DecoderState state) throws
DecodeException {
final TypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(buffer, state);
- return readFlow(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readFlow(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -68,7 +70,7 @@ public final class FlowTypeDecoder extends
AbstractDescribedTypeDecoder<Flow> {
final Flow[] result = new Flow[count];
for (int i = 0; i < count; ++i) {
- result[i] = readFlow(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readFlow(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -83,7 +85,7 @@ public final class FlowTypeDecoder extends
AbstractDescribedTypeDecoder<Flow> {
decoder.skipValue(buffer, state);
}
- private Flow readFlow(ProtonBuffer buffer, DecoderState state,
ListTypeDecoder listDecoder) throws DecodeException {
+ private Flow readFlow(ProtonBuffer buffer, Decoder decoder, DecoderState
state, ListTypeDecoder listDecoder) throws DecodeException {
final Flow flow = new Flow();
@SuppressWarnings("unused")
@@ -116,37 +118,37 @@ public final class FlowTypeDecoder extends
AbstractDescribedTypeDecoder<Flow> {
switch (index) {
case 0:
-
flow.setNextIncomingId(state.getDecoder().readUnsignedInteger(buffer, state,
0l));
+ flow.setNextIncomingId(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 1:
-
flow.setIncomingWindow(state.getDecoder().readUnsignedInteger(buffer, state,
0l));
+ flow.setIncomingWindow(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 2:
-
flow.setNextOutgoingId(state.getDecoder().readUnsignedInteger(buffer, state,
0l));
+ flow.setNextOutgoingId(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 3:
-
flow.setOutgoingWindow(state.getDecoder().readUnsignedInteger(buffer, state,
0l));
+ flow.setOutgoingWindow(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 4:
-
flow.setHandle(state.getDecoder().readUnsignedInteger(buffer, state, 0l));
+ flow.setHandle(decoder.readUnsignedInteger(buffer, state,
0l));
break;
case 5:
-
flow.setDeliveryCount(state.getDecoder().readUnsignedInteger(buffer, state,
0l));
+ flow.setDeliveryCount(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 6:
-
flow.setLinkCredit(state.getDecoder().readUnsignedInteger(buffer, state, 0l));
+ flow.setLinkCredit(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 7:
-
flow.setAvailable(state.getDecoder().readUnsignedInteger(buffer, state, 0l));
+ flow.setAvailable(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 8:
- flow.setDrain(state.getDecoder().readBoolean(buffer,
state, false));
+ flow.setDrain(decoder.readBoolean(buffer, state, false));
break;
case 9:
- flow.setEcho(state.getDecoder().readBoolean(buffer, state,
false));
+ flow.setEcho(decoder.readBoolean(buffer, state, false));
break;
case 10:
- flow.setProperties(state.getDecoder().readMap(buffer,
state));
+ flow.setProperties(decoder.readMap(buffer, state));
break;
}
}
@@ -158,7 +160,7 @@ public final class FlowTypeDecoder extends
AbstractDescribedTypeDecoder<Flow> {
public Flow readValue(InputStream stream, StreamDecoderState state) throws
DecodeException {
final StreamTypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(stream, state);
- return readFlow(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readFlow(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -167,7 +169,7 @@ public final class FlowTypeDecoder extends
AbstractDescribedTypeDecoder<Flow> {
final Flow[] result = new Flow[count];
for (int i = 0; i < count; ++i) {
- result[i] = readFlow(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readFlow(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -182,7 +184,7 @@ public final class FlowTypeDecoder extends
AbstractDescribedTypeDecoder<Flow> {
decoder.skipValue(stream, state);
}
- private Flow readFlow(InputStream stream, StreamDecoderState state,
ListTypeDecoder listDecoder) throws DecodeException {
+ private Flow readFlow(InputStream stream, StreamDecoder decoder,
StreamDecoderState state, ListTypeDecoder listDecoder) throws DecodeException {
final Flow flow = new Flow();
@SuppressWarnings("unused")
@@ -219,37 +221,37 @@ public final class FlowTypeDecoder extends
AbstractDescribedTypeDecoder<Flow> {
switch (index) {
case 0:
-
flow.setNextIncomingId(state.getDecoder().readUnsignedInteger(stream, state,
0l));
+ flow.setNextIncomingId(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 1:
-
flow.setIncomingWindow(state.getDecoder().readUnsignedInteger(stream, state,
0l));
+ flow.setIncomingWindow(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 2:
-
flow.setNextOutgoingId(state.getDecoder().readUnsignedInteger(stream, state,
0l));
+ flow.setNextOutgoingId(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 3:
-
flow.setOutgoingWindow(state.getDecoder().readUnsignedInteger(stream, state,
0l));
+ flow.setOutgoingWindow(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 4:
-
flow.setHandle(state.getDecoder().readUnsignedInteger(stream, state, 0l));
+ flow.setHandle(decoder.readUnsignedInteger(stream, state,
0l));
break;
case 5:
-
flow.setDeliveryCount(state.getDecoder().readUnsignedInteger(stream, state,
0l));
+ flow.setDeliveryCount(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 6:
-
flow.setLinkCredit(state.getDecoder().readUnsignedInteger(stream, state, 0l));
+ flow.setLinkCredit(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 7:
-
flow.setAvailable(state.getDecoder().readUnsignedInteger(stream, state, 0l));
+ flow.setAvailable(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 8:
- flow.setDrain(state.getDecoder().readBoolean(stream,
state, false));
+ flow.setDrain(decoder.readBoolean(stream, state, false));
break;
case 9:
- flow.setEcho(state.getDecoder().readBoolean(stream, state,
false));
+ flow.setEcho(decoder.readBoolean(stream, state, false));
break;
case 10:
- flow.setProperties(state.getDecoder().readMap(stream,
state));
+ flow.setProperties(decoder.readMap(stream, state));
break;
}
}
diff --git
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/OpenTypeDecoder.java
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/OpenTypeDecoder.java
index c0a8b6a1..d592d13f 100644
---
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/OpenTypeDecoder.java
+++
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/OpenTypeDecoder.java
@@ -20,8 +20,10 @@ import java.io.InputStream;
import org.apache.qpid.protonj2.buffer.ProtonBuffer;
import org.apache.qpid.protonj2.codec.DecodeException;
+import org.apache.qpid.protonj2.codec.Decoder;
import org.apache.qpid.protonj2.codec.DecoderState;
import org.apache.qpid.protonj2.codec.EncodingCodes;
+import org.apache.qpid.protonj2.codec.StreamDecoder;
import org.apache.qpid.protonj2.codec.StreamDecoderState;
import org.apache.qpid.protonj2.codec.StreamTypeDecoder;
import org.apache.qpid.protonj2.codec.TypeDecoder;
@@ -59,7 +61,7 @@ public final class OpenTypeDecoder extends
AbstractDescribedTypeDecoder<Open> {
public Open readValue(ProtonBuffer buffer, DecoderState state) throws
DecodeException {
TypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(buffer, state);
- return readOpen(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readOpen(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -68,7 +70,7 @@ public final class OpenTypeDecoder extends
AbstractDescribedTypeDecoder<Open> {
final Open[] result = new Open[count];
for (int i = 0; i < count; ++i) {
- result[i] = readOpen(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readOpen(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -83,7 +85,7 @@ public final class OpenTypeDecoder extends
AbstractDescribedTypeDecoder<Open> {
decoder.skipValue(buffer, state);
}
- private Open readOpen(ProtonBuffer buffer, DecoderState state,
ListTypeDecoder listDecoder) throws DecodeException {
+ private Open readOpen(ProtonBuffer buffer, Decoder decoder, DecoderState
state, ListTypeDecoder listDecoder) throws DecodeException {
final Open open = new Open();
@SuppressWarnings("unused")
@@ -113,34 +115,34 @@ public final class OpenTypeDecoder extends
AbstractDescribedTypeDecoder<Open> {
switch (index) {
case 0:
- open.setContainerId(state.getDecoder().readString(buffer,
state));
+ open.setContainerId(decoder.readString(buffer, state));
break;
case 1:
- open.setHostname(state.getDecoder().readString(buffer,
state));
+ open.setHostname(decoder.readString(buffer, state));
break;
case 2:
-
open.setMaxFrameSize(state.getDecoder().readUnsignedInteger(buffer, state, 0l));
+ open.setMaxFrameSize(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 3:
-
open.setChannelMax(state.getDecoder().readUnsignedShort(buffer, state, 0));
+ open.setChannelMax(decoder.readUnsignedShort(buffer,
state, 0));
break;
case 4:
-
open.setIdleTimeout(state.getDecoder().readUnsignedInteger(buffer, state, 0l));
+ open.setIdleTimeout(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 5:
-
open.setOutgoingLocales(state.getDecoder().readMultiple(buffer, state,
Symbol.class));
+ open.setOutgoingLocales(decoder.readMultiple(buffer,
state, Symbol.class));
break;
case 6:
-
open.setIncomingLocales(state.getDecoder().readMultiple(buffer, state,
Symbol.class));
+ open.setIncomingLocales(decoder.readMultiple(buffer,
state, Symbol.class));
break;
case 7:
-
open.setOfferedCapabilities(state.getDecoder().readMultiple(buffer, state,
Symbol.class));
+ open.setOfferedCapabilities(decoder.readMultiple(buffer,
state, Symbol.class));
break;
case 8:
-
open.setDesiredCapabilities(state.getDecoder().readMultiple(buffer, state,
Symbol.class));
+ open.setDesiredCapabilities(decoder.readMultiple(buffer,
state, Symbol.class));
break;
case 9:
- open.setProperties(state.getDecoder().readMap(buffer,
state));
+ open.setProperties(decoder.readMap(buffer, state));
break;
}
}
@@ -152,7 +154,7 @@ public final class OpenTypeDecoder extends
AbstractDescribedTypeDecoder<Open> {
public Open readValue(InputStream stream, StreamDecoderState state) throws
DecodeException {
final StreamTypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(stream, state);
- return readOpen(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readOpen(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -161,7 +163,7 @@ public final class OpenTypeDecoder extends
AbstractDescribedTypeDecoder<Open> {
final Open[] result = new Open[count];
for (int i = 0; i < count; ++i) {
- result[i] = readOpen(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readOpen(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -176,7 +178,7 @@ public final class OpenTypeDecoder extends
AbstractDescribedTypeDecoder<Open> {
decoder.skipValue(stream, state);
}
- private Open readOpen(InputStream stream, StreamDecoderState state,
ListTypeDecoder listDecoder) throws DecodeException {
+ private Open readOpen(InputStream stream, StreamDecoder decoder,
StreamDecoderState state, ListTypeDecoder listDecoder) throws DecodeException {
final Open open = new Open();
@SuppressWarnings("unused")
@@ -211,34 +213,34 @@ public final class OpenTypeDecoder extends
AbstractDescribedTypeDecoder<Open> {
switch (index) {
case 0:
- open.setContainerId(state.getDecoder().readString(stream,
state));
+ open.setContainerId(decoder.readString(stream, state));
break;
case 1:
- open.setHostname(state.getDecoder().readString(stream,
state));
+ open.setHostname(decoder.readString(stream, state));
break;
case 2:
-
open.setMaxFrameSize(state.getDecoder().readUnsignedInteger(stream, state, 0l));
+ open.setMaxFrameSize(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 3:
-
open.setChannelMax(state.getDecoder().readUnsignedShort(stream, state, 0));
+ open.setChannelMax(decoder.readUnsignedShort(stream,
state, 0));
break;
case 4:
-
open.setIdleTimeout(state.getDecoder().readUnsignedInteger(stream, state, 0l));
+ open.setIdleTimeout(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 5:
-
open.setOutgoingLocales(state.getDecoder().readMultiple(stream, state,
Symbol.class));
+ open.setOutgoingLocales(decoder.readMultiple(stream,
state, Symbol.class));
break;
case 6:
-
open.setIncomingLocales(state.getDecoder().readMultiple(stream, state,
Symbol.class));
+ open.setIncomingLocales(decoder.readMultiple(stream,
state, Symbol.class));
break;
case 7:
-
open.setOfferedCapabilities(state.getDecoder().readMultiple(stream, state,
Symbol.class));
+ open.setOfferedCapabilities(decoder.readMultiple(stream,
state, Symbol.class));
break;
case 8:
-
open.setDesiredCapabilities(state.getDecoder().readMultiple(stream, state,
Symbol.class));
+ open.setDesiredCapabilities(decoder.readMultiple(stream,
state, Symbol.class));
break;
case 9:
- open.setProperties(state.getDecoder().readMap(stream,
state));
+ open.setProperties(decoder.readMap(stream, state));
break;
}
}
diff --git
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/TransferTypeDecoder.java
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/TransferTypeDecoder.java
index ca47d750..4085628a 100644
---
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/TransferTypeDecoder.java
+++
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/transport/TransferTypeDecoder.java
@@ -20,8 +20,10 @@ import java.io.InputStream;
import org.apache.qpid.protonj2.buffer.ProtonBuffer;
import org.apache.qpid.protonj2.codec.DecodeException;
+import org.apache.qpid.protonj2.codec.Decoder;
import org.apache.qpid.protonj2.codec.DecoderState;
import org.apache.qpid.protonj2.codec.EncodingCodes;
+import org.apache.qpid.protonj2.codec.StreamDecoder;
import org.apache.qpid.protonj2.codec.StreamDecoderState;
import org.apache.qpid.protonj2.codec.StreamTypeDecoder;
import org.apache.qpid.protonj2.codec.TypeDecoder;
@@ -62,7 +64,7 @@ public final class TransferTypeDecoder extends
AbstractDescribedTypeDecoder<Tran
public Transfer readValue(ProtonBuffer buffer, DecoderState state) throws
DecodeException {
final TypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(buffer, state);
- return readTransfer(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readTransfer(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -71,7 +73,7 @@ public final class TransferTypeDecoder extends
AbstractDescribedTypeDecoder<Tran
final Transfer[] result = new Transfer[count];
for (int i = 0; i < count; ++i) {
- result[i] = readTransfer(buffer, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readTransfer(buffer, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -86,7 +88,7 @@ public final class TransferTypeDecoder extends
AbstractDescribedTypeDecoder<Tran
decoder.skipValue(buffer, state);
}
- private Transfer readTransfer(ProtonBuffer buffer, DecoderState state,
ListTypeDecoder listDecoder) throws DecodeException {
+ private Transfer readTransfer(ProtonBuffer buffer, Decoder decoder,
DecoderState state, ListTypeDecoder listDecoder) throws DecodeException {
final Transfer transfer = new Transfer();
@SuppressWarnings("unused")
@@ -118,38 +120,38 @@ public final class TransferTypeDecoder extends
AbstractDescribedTypeDecoder<Tran
switch (index) {
case 0:
-
transfer.setHandle(state.getDecoder().readUnsignedInteger(buffer, state, 0l));
+ transfer.setHandle(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 1:
-
transfer.setDeliveryId(state.getDecoder().readUnsignedInteger(buffer, state,
0l));
+ transfer.setDeliveryId(decoder.readUnsignedInteger(buffer,
state, 0l));
break;
case 2:
-
transfer.setDeliveryTag(state.getDecoder().readDeliveryTag(buffer, state));
+ transfer.setDeliveryTag(decoder.readDeliveryTag(buffer,
state));
break;
case 3:
-
transfer.setMessageFormat(state.getDecoder().readUnsignedInteger(buffer, state,
0l));
+
transfer.setMessageFormat(decoder.readUnsignedInteger(buffer, state, 0l));
break;
case 4:
- transfer.setSettled(state.getDecoder().readBoolean(buffer,
state, false));
+ transfer.setSettled(decoder.readBoolean(buffer, state,
false));
break;
case 5:
- transfer.setMore(state.getDecoder().readBoolean(buffer,
state, false));
+ transfer.setMore(decoder.readBoolean(buffer, state,
false));
break;
case 6:
- final UnsignedByte rcvSettleMode =
state.getDecoder().readUnsignedByte(buffer, state);
+ final UnsignedByte rcvSettleMode =
decoder.readUnsignedByte(buffer, state);
transfer.setRcvSettleMode(rcvSettleMode == null ? null :
ReceiverSettleMode.values()[rcvSettleMode.intValue()]);
break;
case 7:
- transfer.setState(state.getDecoder().readObject(buffer,
state, DeliveryState.class));
+ transfer.setState(decoder.readObject(buffer, state,
DeliveryState.class));
break;
case 8:
- transfer.setResume(state.getDecoder().readBoolean(buffer,
state, false));
+ transfer.setResume(decoder.readBoolean(buffer, state,
false));
break;
case 9:
- transfer.setAborted(state.getDecoder().readBoolean(buffer,
state, false));
+ transfer.setAborted(decoder.readBoolean(buffer, state,
false));
break;
case 10:
-
transfer.setBatchable(state.getDecoder().readBoolean(buffer, state, false));
+ transfer.setBatchable(decoder.readBoolean(buffer, state,
false));
break;
}
}
@@ -161,7 +163,7 @@ public final class TransferTypeDecoder extends
AbstractDescribedTypeDecoder<Tran
public Transfer readValue(InputStream stream, StreamDecoderState state)
throws DecodeException {
final StreamTypeDecoder<?> decoder =
state.getDecoder().readNextTypeDecoder(stream, state);
- return readTransfer(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ return readTransfer(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
@Override
@@ -170,7 +172,7 @@ public final class TransferTypeDecoder extends
AbstractDescribedTypeDecoder<Tran
final Transfer[] result = new Transfer[count];
for (int i = 0; i < count; ++i) {
- result[i] = readTransfer(stream, state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
+ result[i] = readTransfer(stream, state.getDecoder(), state,
checkIsExpectedTypeAndCast(ListTypeDecoder.class, decoder));
}
return result;
@@ -185,7 +187,7 @@ public final class TransferTypeDecoder extends
AbstractDescribedTypeDecoder<Tran
decoder.skipValue(stream, state);
}
- private Transfer readTransfer(InputStream stream, StreamDecoderState
state, ListTypeDecoder listDecoder) throws DecodeException {
+ private Transfer readTransfer(InputStream stream, StreamDecoder decoder,
StreamDecoderState state, ListTypeDecoder listDecoder) throws DecodeException {
final Transfer transfer = new Transfer();
@SuppressWarnings("unused")
@@ -221,38 +223,38 @@ public final class TransferTypeDecoder extends
AbstractDescribedTypeDecoder<Tran
switch (index) {
case 0:
-
transfer.setHandle(state.getDecoder().readUnsignedInteger(stream, state, 0l));
+ transfer.setHandle(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 1:
-
transfer.setDeliveryId(state.getDecoder().readUnsignedInteger(stream, state,
0l));
+ transfer.setDeliveryId(decoder.readUnsignedInteger(stream,
state, 0l));
break;
case 2:
-
transfer.setDeliveryTag(state.getDecoder().readDeliveryTag(stream, state));
+ transfer.setDeliveryTag(decoder.readDeliveryTag(stream,
state));
break;
case 3:
-
transfer.setMessageFormat(state.getDecoder().readUnsignedInteger(stream, state,
0l));
+
transfer.setMessageFormat(decoder.readUnsignedInteger(stream, state, 0l));
break;
case 4:
- transfer.setSettled(state.getDecoder().readBoolean(stream,
state, false));
+ transfer.setSettled(decoder.readBoolean(stream, state,
false));
break;
case 5:
- transfer.setMore(state.getDecoder().readBoolean(stream,
state, false));
+ transfer.setMore(decoder.readBoolean(stream, state,
false));
break;
case 6:
- final UnsignedByte rcvSettleMode =
state.getDecoder().readUnsignedByte(stream, state);
+ final UnsignedByte rcvSettleMode =
decoder.readUnsignedByte(stream, state);
transfer.setRcvSettleMode(rcvSettleMode == null ? null :
ReceiverSettleMode.values()[rcvSettleMode.intValue()]);
break;
case 7:
- transfer.setState(state.getDecoder().readObject(stream,
state, DeliveryState.class));
+ transfer.setState(decoder.readObject(stream, state,
DeliveryState.class));
break;
case 8:
- transfer.setResume(state.getDecoder().readBoolean(stream,
state, false));
+ transfer.setResume(decoder.readBoolean(stream, state,
false));
break;
case 9:
- transfer.setAborted(state.getDecoder().readBoolean(stream,
state, false));
+ transfer.setAborted(decoder.readBoolean(stream, state,
false));
break;
case 10:
-
transfer.setBatchable(state.getDecoder().readBoolean(stream, state, false));
+ transfer.setBatchable(decoder.readBoolean(stream, state,
false));
break;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]