use of org.apache.qpid.server.protocol.v1_0.type.messaging.Header in project qpid-broker-j by apache.
the class PropertyConverter_1_0_to_0_8Test method testPriorityConversion.
@Test
public void testPriorityConversion() {
final Header header = new Header();
final byte priority = (byte) 7;
header.setPriority(UnsignedByte.valueOf(priority));
Message_1_0 message = createTestMessage(header);
final AMQMessage convertedMessage = _messageConverter.convert(message, _namedAddressSpace);
BasicContentHeaderProperties convertedProperties = convertedMessage.getContentHeaderBody().getProperties();
assertEquals("Unexpected priority", (long) priority, (long) convertedProperties.getPriority());
}
use of org.apache.qpid.server.protocol.v1_0.type.messaging.Header in project qpid-broker-j by apache.
the class PropertyConverter_1_0_to_0_8Test method testConversionOfAbsoluteExpiryTimeTakesPrecedenceOverTTL.
@Test
public void testConversionOfAbsoluteExpiryTimeTakesPrecedenceOverTTL() {
long ttl = 10000;
final long time = System.currentTimeMillis();
long absoluteExpiryTime = time + ttl;
long arrivalTime = time + 1;
Header header = new Header();
header.setTtl(UnsignedInteger.valueOf(ttl));
Properties properties = new Properties();
properties.setAbsoluteExpiryTime(new Date(absoluteExpiryTime));
Message_1_0 message = createTestMessage(header, new DeliveryAnnotations(Collections.emptyMap()), new MessageAnnotations(Collections.emptyMap()), properties, new ApplicationProperties(Collections.emptyMap()), arrivalTime);
final AMQMessage convertedMessage = _messageConverter.convert(message, _namedAddressSpace);
BasicContentHeaderProperties convertedProperties = convertedMessage.getContentHeaderBody().getProperties();
assertEquals("Unexpected expiration", absoluteExpiryTime, convertedProperties.getExpiration());
}
use of org.apache.qpid.server.protocol.v1_0.type.messaging.Header in project qpid-broker-j by apache.
the class PropertyConverter_1_0_to_0_8Test method testDurableConversion.
@Test
public void testDurableConversion() {
final Header header = new Header();
header.setDurable(true);
Message_1_0 message = createTestMessage(header);
final AMQMessage convertedMessage = _messageConverter.convert(message, _namedAddressSpace);
BasicContentHeaderProperties convertedProperties = convertedMessage.getContentHeaderBody().getProperties();
assertEquals("Unexpected deliveryMode", (long) BasicContentHeaderProperties.PERSISTENT, (long) convertedProperties.getDeliveryMode());
}
use of org.apache.qpid.server.protocol.v1_0.type.messaging.Header in project qpid-broker-j by apache.
the class FrameDecoder method decode.
@Override
public Collection<Response<?>> decode(final ByteBuffer inputBuffer) {
QpidByteBuffer qpidByteBuffer = QpidByteBuffer.wrap(inputBuffer);
int remaining;
do {
remaining = qpidByteBuffer.remaining();
switch(_state) {
case HEADER:
if (inputBuffer.remaining() >= 8) {
byte[] header = new byte[8];
inputBuffer.get(header);
HeaderResponse headerResponse = new HeaderResponse(header);
FRAME_LOGGER.debug("RECV:" + headerResponse);
_connectionHandler._responseQueue.add(headerResponse);
_state = ParsingState.PERFORMATIVES;
}
break;
case PERFORMATIVES:
_frameHandler.parse(qpidByteBuffer);
break;
default:
throw new IllegalStateException("Unexpected state : " + _state);
}
} while (qpidByteBuffer.remaining() != remaining);
List<Response<?>> responses = new ArrayList<>();
Response<?> r;
while ((r = _connectionHandler._responseQueue.poll()) != null) {
responses.add(r);
}
return responses;
}
use of org.apache.qpid.server.protocol.v1_0.type.messaging.Header in project qpid-broker-j by apache.
the class DecodeErrorTest method illegalMessage.
@Test
@SpecificationTest(section = "3.2", description = "Altogether a message consists of the following sections: Zero or one header," + " Zero or one delivery-annotations, [...]")
public void illegalMessage() throws Exception {
getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
try (FrameTransport transport = new FrameTransport(getBrokerAdmin()).connect()) {
final Interaction interaction = transport.newInteraction();
interaction.negotiateOpen().begin().consumeResponse(Begin.class).attachRole(Role.SENDER).attachTargetAddress(BrokerAdmin.TEST_QUEUE_NAME).attach().consumeResponse(Attach.class).consumeResponse(Flow.class).assertLatestResponse(Flow.class, flow -> assumeThat(flow.getLinkCredit(), is(greaterThan(UnsignedInteger.ZERO))));
try (final QpidByteBuffer payload = buildInvalidMessage()) {
interaction.transferMessageFormat(UnsignedInteger.ZERO).transferPayload(payload).transferSettled(true).transferMessageFormat(UnsignedInteger.ZERO).transfer().sync();
}
interaction.closeUnconditionally();
}
final String validMessage = getTestName() + "_2";
Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, validMessage);
assertThat(Utils.receiveMessage(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(validMessage)));
}
Aggregations