Java Code Examples for org.apache.qpid.proton.amqp.UnsignedInteger#ZERO
The following examples show how to use
org.apache.qpid.proton.amqp.UnsignedInteger#ZERO .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DecoderImpl.java From qpid-proton-j with Apache License 2.0 | 6 votes |
@Override public UnsignedInteger readUnsignedInteger(final UnsignedInteger defaultVal) { byte encodingCode = _buffer.get(); switch (encodingCode) { case EncodingCodes.UINT0: return UnsignedInteger.ZERO; case EncodingCodes.SMALLUINT: return UnsignedInteger.valueOf(((int) readRawByte()) & 0xff); case EncodingCodes.UINT: return UnsignedInteger.valueOf(readRawInt()); case EncodingCodes.NULL: return defaultVal; default: throw new ProtonException("Expected UnsignedInteger type but found encoding: " + EncodingCodes.toString(encodingCode)); } }
Example 2
Source File: UnsignedIntegerType.java From qpid-proton-j with Apache License 2.0 | 4 votes |
public UnsignedInteger readValue() { return UnsignedInteger.ZERO; }
Example 3
Source File: TransportImplTest.java From qpid-proton-j with Apache License 2.0 | 4 votes |
@Test public void testDeliveryIdOutOfSequenceCausesISE() { MockTransportImpl transport = new MockTransportImpl(); transport.setEmitFlowEventOnSend(false); Connection connection = Proton.connection(); transport.bind(connection); connection.open(); Session session = connection.session(); session.open(); String linkName1 = "myReceiver1"; Receiver receiver1 = session.receiver(linkName1); receiver1.flow(5); receiver1.open(); String linkName2 = "myReceiver2"; Receiver receiver2 = session.receiver(linkName2); receiver2.flow(5); receiver2.open(); pumpMockTransport(transport); final UnsignedInteger r1handle = UnsignedInteger.ZERO; final UnsignedInteger r2handle = UnsignedInteger.ONE; assertEquals("Unexpected frames written: " + getFrameTypesWritten(transport), 6, transport.writes.size()); // Give the necessary responses to open/begin/attach transport.handleFrame(new TransportFrame(0, new Open(), null)); Begin begin = new Begin(); begin.setRemoteChannel(UnsignedShort.valueOf((short) 0)); begin.setNextOutgoingId(UnsignedInteger.ONE); begin.setIncomingWindow(UnsignedInteger.valueOf(1024)); begin.setOutgoingWindow(UnsignedInteger.valueOf(1024)); transport.handleFrame(new TransportFrame(0, begin, null)); Attach attach1 = new Attach(); attach1.setHandle(r1handle); attach1.setRole(Role.SENDER); attach1.setName(linkName1); attach1.setInitialDeliveryCount(UnsignedInteger.ZERO); transport.handleFrame(new TransportFrame(0, attach1, null)); Attach attach2 = new Attach(); attach2.setHandle(r2handle); attach2.setRole(Role.SENDER); attach2.setName(linkName2); attach2.setInitialDeliveryCount(UnsignedInteger.ZERO); transport.handleFrame(new TransportFrame(0, attach2, null)); String deliveryTag1 = "tag1"; String deliveryTag2 = "tag2"; handlePartialTransfer(transport, r2handle, 2, deliveryTag2, new byte[]{ 2 }, false); try { handlePartialTransfer(transport, r1handle, 1, deliveryTag1, new byte[]{ 1 }, false); fail("Expected an ISE"); } catch(IllegalStateException ise) { // Expected assertTrue("Unexpected exception:" + ise, ise.getMessage().contains("Expected delivery-id 3, got 1")); } }
Example 4
Source File: TransportImplTest.java From qpid-proton-j with Apache License 2.0 | 4 votes |
@Test public void testDeliveryIdMissingOnInitialTransferCausesISE() { MockTransportImpl transport = new MockTransportImpl(); transport.setEmitFlowEventOnSend(false); Connection connection = Proton.connection(); transport.bind(connection); connection.open(); Session session = connection.session(); session.open(); String linkName1 = "myReceiver1"; Receiver receiver1 = session.receiver(linkName1); receiver1.flow(5); receiver1.open(); pumpMockTransport(transport); final UnsignedInteger r1handle = UnsignedInteger.ZERO; assertEquals("Unexpected frames written: " + getFrameTypesWritten(transport), 4, transport.writes.size()); // Give the necessary responses to open/begin/attach transport.handleFrame(new TransportFrame(0, new Open(), null)); Begin begin = new Begin(); begin.setRemoteChannel(UnsignedShort.valueOf((short) 0)); begin.setNextOutgoingId(UnsignedInteger.ONE); begin.setIncomingWindow(UnsignedInteger.valueOf(1024)); begin.setOutgoingWindow(UnsignedInteger.valueOf(1024)); transport.handleFrame(new TransportFrame(0, begin, null)); Attach attach1 = new Attach(); attach1.setHandle(r1handle); attach1.setRole(Role.SENDER); attach1.setName(linkName1); attach1.setInitialDeliveryCount(UnsignedInteger.ZERO); transport.handleFrame(new TransportFrame(0, attach1, null)); // Receive a delivery without any delivery-id on the [first] transfer frame, expect it to fail. try { handlePartialTransfer(transport, r1handle, null, "tag1", new byte[]{ 1 }, false); fail("Expected an ISE"); } catch(IllegalStateException ise) { // Expected assertEquals("Unexpected message", "No delivery-id specified on first Transfer of new delivery", ise.getMessage()); } }
Example 5
Source File: TransportImplTest.java From qpid-proton-j with Apache License 2.0 | 4 votes |
@Test public void testMultiplexDeliveriesOnSameReceiverLinkCausesISE() { MockTransportImpl transport = new MockTransportImpl(); transport.setEmitFlowEventOnSend(false); Connection connection = Proton.connection(); transport.bind(connection); connection.open(); Session session = connection.session(); session.open(); String linkName1 = "myReceiver1"; Receiver receiver1 = session.receiver(linkName1); receiver1.flow(5); receiver1.open(); pumpMockTransport(transport); final UnsignedInteger r1handle = UnsignedInteger.ZERO; assertEquals("Unexpected frames written: " + getFrameTypesWritten(transport), 4, transport.writes.size()); // Give the necessary responses to open/begin/attach transport.handleFrame(new TransportFrame(0, new Open(), null)); Begin begin = new Begin(); begin.setRemoteChannel(UnsignedShort.valueOf((short) 0)); begin.setNextOutgoingId(UnsignedInteger.ONE); begin.setIncomingWindow(UnsignedInteger.valueOf(1024)); begin.setOutgoingWindow(UnsignedInteger.valueOf(1024)); transport.handleFrame(new TransportFrame(0, begin, null)); Attach attach1 = new Attach(); attach1.setHandle(r1handle); attach1.setRole(Role.SENDER); attach1.setName(linkName1); attach1.setInitialDeliveryCount(UnsignedInteger.ZERO); transport.handleFrame(new TransportFrame(0, attach1, null)); // Receive first transfer for a multi-frame delivery handlePartialTransfer(transport, r1handle, 1, "tag1", new byte[]{ 1 }, true); // Receive first transfer for ANOTHER multi-frame delivery, expect it to fail // as multiplexing deliveries on a single link is forbidden by the spec. try { handlePartialTransfer(transport, r1handle, 2, "tag2", new byte[]{ 2 }, true); fail("Expected an ISE"); } catch(IllegalStateException ise) { // Expected assertEquals("Unexpected message", "Illegal multiplex of deliveries on same link with delivery-id 1 and 2", ise.getMessage()); } }
Example 6
Source File: TransportImplTest.java From qpid-proton-j with Apache License 2.0 | 4 votes |
@Test public void testDeliveryIdTrackingHandlesAbortedDelivery() { MockTransportImpl transport = new MockTransportImpl(); transport.setEmitFlowEventOnSend(false); Connection connection = Proton.connection(); transport.bind(connection); connection.open(); Session session = connection.session(); session.open(); String linkName1 = "myReceiver1"; Receiver receiver1 = session.receiver(linkName1); receiver1.flow(5); receiver1.open(); pumpMockTransport(transport); final UnsignedInteger r1handle = UnsignedInteger.ZERO; assertEquals("Unexpected frames written: " + getFrameTypesWritten(transport), 4, transport.writes.size()); // Give the necessary responses to open/begin/attach transport.handleFrame(new TransportFrame(0, new Open(), null)); Begin begin = new Begin(); begin.setRemoteChannel(UnsignedShort.valueOf((short) 0)); begin.setNextOutgoingId(UnsignedInteger.ONE); begin.setIncomingWindow(UnsignedInteger.valueOf(1024)); begin.setOutgoingWindow(UnsignedInteger.valueOf(1024)); transport.handleFrame(new TransportFrame(0, begin, null)); Attach attach1 = new Attach(); attach1.setHandle(r1handle); attach1.setRole(Role.SENDER); attach1.setName(linkName1); attach1.setInitialDeliveryCount(UnsignedInteger.ZERO); transport.handleFrame(new TransportFrame(0, attach1, null)); // Receive first transfer for a multi-frame delivery assertEquals("Unexpected queued count", 0, receiver1.getQueued()); handlePartialTransfer(transport, r1handle, UnsignedInteger.ZERO, "tag1", new byte[]{ 1 }, true); assertEquals("Unexpected queued count", 1, receiver1.getQueued()); // Receive second transfer for a multi-frame delivery, indicating it is aborted handlePartialTransfer(transport, r1handle, UnsignedInteger.ZERO, "tag1", new byte[]{ 2 }, true, true); assertEquals("Unexpected queued count", 1, receiver1.getQueued()); // Receive first transfer for ANOTHER delivery, expect it not to fail, since the earlier delivery aborted handlePartialTransfer(transport, r1handle, UnsignedInteger.ONE, "tag2", new byte[]{ 3 }, false); assertEquals("Unexpected queued count", 2, receiver1.getQueued()); receiver1.advance(); verifyDeliveryRawPayload(receiver1, "tag2", new byte[] { 3 }); }
Example 7
Source File: TransportImplTest.java From qpid-proton-j with Apache License 2.0 | 4 votes |
@Test public void testDeliveryWithIdOmittedOnContinuationTransfers() { MockTransportImpl transport = new MockTransportImpl(); transport.setEmitFlowEventOnSend(false); Connection connection = Proton.connection(); transport.bind(connection); connection.open(); Session session = connection.session(); session.open(); String linkName1 = "myReceiver1"; Receiver receiver1 = session.receiver(linkName1); receiver1.flow(5); receiver1.open(); String linkName2 = "myReceiver2"; Receiver receiver2 = session.receiver(linkName2); receiver2.flow(5); receiver2.open(); pumpMockTransport(transport); final UnsignedInteger r1handle = UnsignedInteger.ZERO; final UnsignedInteger r2handle = UnsignedInteger.ONE; assertEquals("Unexpected frames written: " + getFrameTypesWritten(transport), 6, transport.writes.size()); // Give the necessary responses to open/begin/attach transport.handleFrame(new TransportFrame(0, new Open(), null)); Begin begin = new Begin(); begin.setRemoteChannel(UnsignedShort.valueOf((short) 0)); begin.setNextOutgoingId(UnsignedInteger.ONE); begin.setIncomingWindow(UnsignedInteger.valueOf(1024)); begin.setOutgoingWindow(UnsignedInteger.valueOf(1024)); transport.handleFrame(new TransportFrame(0, begin, null)); Attach attach1 = new Attach(); attach1.setHandle(r1handle); attach1.setRole(Role.SENDER); attach1.setName(linkName1); attach1.setInitialDeliveryCount(UnsignedInteger.ZERO); transport.handleFrame(new TransportFrame(0, attach1, null)); Attach attach2 = new Attach(); attach2.setHandle(r2handle); attach2.setRole(Role.SENDER); attach2.setName(linkName2); attach2.setInitialDeliveryCount(UnsignedInteger.ZERO); transport.handleFrame(new TransportFrame(0, attach2, null)); String deliveryTag1 = "tag1"; String deliveryTag2 = "tag2"; // Send multi-frame deliveries for each link, multiplexed together, and omit // the delivery-id on the continuation frames as allowed for by the spec. handlePartialTransfer(transport, r1handle, 1, deliveryTag1, new byte[]{ 1 }, true); handlePartialTransfer(transport, r2handle, 2, deliveryTag2, new byte[]{ 101 }, true); handlePartialTransfer(transport, r2handle, null, deliveryTag2, new byte[]{ 102 }, true); handlePartialTransfer(transport, r1handle, null, deliveryTag1, new byte[]{ 2 }, true); handlePartialTransfer(transport, r1handle, null, deliveryTag1, new byte[]{ 3 }, false); handlePartialTransfer(transport, r2handle, null, deliveryTag2, new byte[]{ 103 }, true); handlePartialTransfer(transport, r2handle, null, deliveryTag2, new byte[]{ 104 }, false); // Verify the transfer frames were all matched to compose the expected delivery payload. verifyDeliveryRawPayload(receiver1, deliveryTag1, new byte[] { 1, 2, 3 }); verifyDeliveryRawPayload(receiver2, deliveryTag2, new byte[] { 101, 102, 103, 104 }); }
Example 8
Source File: TransportImplTest.java From qpid-proton-j with Apache License 2.0 | 4 votes |
private void doDeliveryIdThresholdsWrapsTestImpl(UnsignedInteger deliveryId1, UnsignedInteger deliveryId2, UnsignedInteger deliveryId3) { MockTransportImpl transport = new MockTransportImpl(); transport.setEmitFlowEventOnSend(false); Connection connection = Proton.connection(); transport.bind(connection); connection.open(); Session session = connection.session(); session.open(); String linkName1 = "myReceiver1"; Receiver receiver1 = session.receiver(linkName1); receiver1.flow(5); receiver1.open(); pumpMockTransport(transport); final UnsignedInteger r1handle = UnsignedInteger.ZERO; assertEquals("Unexpected frames written: " + getFrameTypesWritten(transport), 4, transport.writes.size()); // Give the necessary responses to open/begin/attach transport.handleFrame(new TransportFrame(0, new Open(), null)); Begin begin = new Begin(); begin.setRemoteChannel(UnsignedShort.valueOf((short) 0)); begin.setNextOutgoingId(UnsignedInteger.ONE); begin.setIncomingWindow(UnsignedInteger.valueOf(1024)); begin.setOutgoingWindow(UnsignedInteger.valueOf(1024)); transport.handleFrame(new TransportFrame(0, begin, null)); Attach attach1 = new Attach(); attach1.setHandle(r1handle); attach1.setRole(Role.SENDER); attach1.setName(linkName1); attach1.setInitialDeliveryCount(UnsignedInteger.ZERO); transport.handleFrame(new TransportFrame(0, attach1, null)); String deliveryTag1 = "tag1"; String deliveryTag2 = "tag2"; String deliveryTag3 = "tag3"; // Send deliveries with the given delivery-id handlePartialTransfer(transport, r1handle, deliveryId1, deliveryTag1, new byte[]{ 1 }, false); handlePartialTransfer(transport, r1handle, deliveryId2, deliveryTag2, new byte[]{ 2 }, false); handlePartialTransfer(transport, r1handle, deliveryId3, deliveryTag3, new byte[]{ 3 }, false); // Verify deliveries arrived with expected payload verifyDeliveryRawPayload(receiver1, deliveryTag1, new byte[] { 1 }); verifyDeliveryRawPayload(receiver1, deliveryTag2, new byte[] { 2 }); verifyDeliveryRawPayload(receiver1, deliveryTag3, new byte[] { 3 }); }