@Override public byte[] getTag() { return delivery.getTag(); }
private void handleSendCompletion(boolean successful) { setRequestTimeout(null); if (getDelivery() != null) { sent.remove(envelope.getMessageId()); delivery.settle(); tagGenerator.returnTag(delivery.getTag()); } else { blocked.remove(envelope.getMessageId()); } // Put the message back to usable state following send complete envelope.getMessage().onSendComplete(); // Signal the watcher that all pending sends have completed if one is registered // and both the in-flight sends and blocked sends have completed. if (sendCompletionWatcher != null && sent.isEmpty() && blocked.isEmpty()) { sendCompletionWatcher.onSuccess(); sendCompletionWatcher = null; } // Once the pending sends queue is drained and all in-flight sends have been // settled we can propagate the close request. if (isAwaitingClose() && !isClosed() && blocked.isEmpty() && sent.isEmpty()) { AmqpFixedProducer.super.close(closeRequest); } }
private void handleSendCompletion(boolean successful) { setRequestTimeout(null); if (getDelivery() != null) { sent.remove(envelope.getMessageId()); delivery.settle(); tagGenerator.returnTag(delivery.getTag()); } else { blocked.remove(envelope.getMessageId()); } // Put the message back to usable state following send complete envelope.getMessage().onSendComplete(); // Signal the watcher that all pending sends have completed if one is registered // and both the in-flight sends and blocked sends have completed. if (sendCompletionWatcher != null && sent.isEmpty() && blocked.isEmpty()) { sendCompletionWatcher.onSuccess(); sendCompletionWatcher = null; } // Once the pending sends queue is drained and all in-flight sends have been // settled we can propagate the close request. if (isAwaitingClose() && !isClosed() && blocked.isEmpty() && sent.isEmpty()) { AmqpFixedProducer.super.close(closeRequest); } }
@Override public void onDelivery(Event event) { Delivery delivery = event.getDelivery(); while (delivery != null) { Sender sender = (Sender) delivery.getLink(); if (TRACE_LOGGER.isTraceEnabled()) { TRACE_LOGGER.trace( "onDelivery linkName[" + sender.getName() + "], unsettled[" + sender.getUnsettled() + "], credit[" + sender.getRemoteCredit() + "], deliveryState[" + delivery.getRemoteState() + "], delivery.isBuffered[" + delivery.isBuffered() + "], delivery.id[" + new String(delivery.getTag()) + "]"); } msgSender.onSendComplete(delivery); delivery.settle(); delivery = sender.current(); } }
tagGenerator.returnTag(delivery.getTag()); delivery.settle(); toRemove.add(delivery);
byte[] deliveryTag = delivery.getTag(); String deliveryTagAsString = StringUtil.convertBytesToString(delivery.getTag()); TRACE_LOGGER.debug("Received a delivery '{}' from '{}'", deliveryTagAsString, this.receivePath); if(deliveryTag == null || deliveryTag.length == 0 || !this.tagsToDeliveriesMap.containsKey(deliveryTagAsString)) this.tagsToDeliveriesMap.put(StringUtil.convertBytesToString(delivery.getTag()), delivery); receiveLink.advance(); this.prefetchedMessages.add(new MessageWithDeliveryTag(message, delivery.getTag()));
@Override public void onDelivery(Event event) { Delivery delivery = event.getDelivery(); while (delivery != null) { Sender sender = (Sender) delivery.getLink(); TRACE_LOGGER.debug("onDelivery: linkName:{}, unsettled:{}, credit:{}, deliveryState:{}, delivery.isBuffered:{}, delivery.tag:{}", sender.getName(), sender.getUnsettled(), sender.getRemoteCredit(), delivery.getRemoteState(), delivery.isBuffered(), delivery.getTag()); msgSender.onSendComplete(delivery); delivery.settle(); delivery = sender.current(); } }
protonSession.replaceTag(delivery.getTag());
@Override public void onSendComplete(final Delivery delivery) { final DeliveryState outcome = delivery.getRemoteState(); final String deliveryTag = new String(delivery.getTag());
protonSession.replaceTag(delivery.getTag());
protonSession.replaceTag(delivery.getTag());
final String deliveryTag = new String(delivery.getTag());
private void settle(final Delivery delivery, final int ackType) throws Exception { byte[] tag = delivery.getTag(); if (tag != null && tag.length > 0 && delivery.remotelySettled()) { tagCache.returnTag(tag);
private void settle(final Delivery delivery, final int ackType) throws Exception { byte[] tag = delivery.getTag(); if (tag != null && tag.length > 0 && delivery.remotelySettled()) { tagCache.returnTag(tag);