private long writeMessageDelivery(AMQMessage message, int channelId, AMQBody deliverBody) { return writeMessageDelivery(message, message.getContentHeaderBody(), channelId, deliverBody); }
@Override public void postCommit() { final ProtocolOutputConverter outputConverter = _connection.getProtocolOutputConverter(); outputConverter.writeReturn(message.getMessagePublishInfo(), message.getContentHeaderBody(), message, _channelId, ErrorCodes.NO_CONSUMERS, IMMEDIATE_DELIVERY_REPLY_TEXT); }
@Override public void postCommit() { AMQMessage message = _reference.getMessage(); _connection.getProtocolOutputConverter().writeReturn(message.getMessagePublishInfo(), message.getContentHeaderBody(), message, _channelId, _errorCode, AMQShortString.validValueOf(_description)); _reference.release(); }
header.setDurable(serverMessage.isPersistent()); BasicContentHeaderProperties contentHeader = serverMessage.getContentHeaderBody().getProperties();
@Override public QpidByteBuffer convertToMessageFormat(final AMQMessage message) { final MessagePublishInfo messagePublishInfo = message.getMessagePublishInfo(); final ContentHeaderBody contentHeaderBody = message.getContentHeaderBody(); AMQShortString exchange = messagePublishInfo.getExchange(); AMQShortString routingKey = messagePublishInfo.getRoutingKey(); int length = contentHeaderBody.getSize() + (exchange == null ? 0 : exchange.length()) + (routingKey == null ? 0 : routingKey.length()) + 3; try (QpidByteBuffer headerBuf = QpidByteBuffer.allocateDirect(length); QpidByteBuffer content = message.getContent()) { EncodingUtils.writeShortStringBytes(headerBuf, exchange); EncodingUtils.writeShortStringBytes(headerBuf, routingKey); byte flags = messagePublishInfo.isMandatory() ? (byte) 0 : MANDATORY_MASK; if (messagePublishInfo.isImmediate()) { flags |= IMMEDIATE_MASK; } headerBuf.put(flags); headerBuf.flip(); contentHeaderBody.writePayload(headerBuf); return QpidByteBuffer.concatenate(headerBuf, content); } }