@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(); } }
Delivery delivery = event.getDelivery(); Receiver receiveLink = (Receiver) delivery.getLink();
@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(); } }
@Override public void onDelivery(Event event) { synchronized (this.firstResponse) { if (this.isFirstResponse) { this.isFirstResponse = false; this.amqpReceiver.onOpenComplete(null); } } Delivery delivery = event.getDelivery(); Receiver receiveLink = (Receiver) delivery.getLink(); TRACE_LOGGER.debug("onDelivery: linkName:{}, updatedLinkCredit:{}, remoteCredit:{}, remoteCondition:{}, delivery.isPartial:{}", receiveLink.getName(), receiveLink.getCredit(), receiveLink.getRemoteCredit(), receiveLink.getRemoteCondition(), delivery.isPartial()); //TODO: What happens when a delivery has no message, but only disposition from the remote link? Like when ServiceBus service sends just a disposition to the receiver?" // If a message spans across deliveries (for ex: 200k message will be 4 frames (deliveries) 64k 64k 64k 8k), // all until "last-1" deliveries will be partial // reactor will raise onDelivery event for all of these - we only need the last one if (!delivery.isPartial()) { this.amqpReceiver.onReceiveComplete(delivery); } } }
@Override public void onDelivery(Event event) { //Codes_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_25_023: [ The event handler shall get the Delivery from the event only if the event type is DELIVERY **]** if(event.getType() == Event.Type.DELIVERY) { // Codes_SRS_AMQPSIOTHUBCONNECTION_15_038: [If this link is the Sender link and the event type is DELIVERY, the event handler shall get the Delivery (Proton) object from the event.] Delivery d = event.getDelivery(); //Codes_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_25_024: [ The event handler shall get the Delivery remote state from the delivery **]** DeliveryState remoteState = d.getRemoteState(); //Codes_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_25_025: [ The event handler shall verify the Amqp response and add the response to a queue. **]** sendStatusQueue.add(new AmqpResponseVerification(remoteState)); //Codes_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_25_026: [ The event handler shall settle the delivery. **]** d.settle(); //Codes_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_25_027: [ The event handler shall get the Sender (Proton) object from the event **]** Sender snd = event.getSender(); //Codes_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_25_028: [ The event handler shall close the Sender, Session and Connection **]** snd.close(); snd.getSession().close(); snd.getSession().getConnection().close(); isConnected = false; } }
Delivery d = event.getDelivery(); DeliveryState remoteState = d.getRemoteState();
/** * Event handler for the delivery event. This method handles both sending and receiving a message. * @param event The Proton Event object. */ @Override public void onDelivery(Event event) { logger.LogDebug("Entered in method %s", logger.getMethodName()); AmqpMessage message = amqpDeviceOperations.receiverMessageFromLink(event.getLink().getName()); if (message == null) { //Sender specific section for dispositions it receives if (event.getType() == Event.Type.DELIVERY) { // Codes_SRS_AMQPSIOTHUBCONNECTION_15_038: [If this link is the Sender link and the event type is DELIVERY, the event handler shall get the Delivery (Proton) object from the event.] Delivery d = event.getDelivery(); DeliveryState remoteState = d.getRemoteState(); // Codes_SRS_AMQPSIOTHUBCONNECTION_15_039: [The event handler shall note the remote delivery state and use it and the Delivery (Proton) hash code to inform the AmqpsIotHubConnection of the message receipt.] boolean state = remoteState.equals(Accepted.getInstance()); //let any listener know that the message was received by the server // release the delivery object which created in sendMessage(). d.free(); } } else { msgListener.messageReceived(message); } logger.LogDebug("Exited from method %s", logger.getMethodName()); }
Delivery delivery = event.getDelivery(); if (event.getLink() instanceof Sender) { SendRequest sr = engineConnection.inProgressOutboundDeliveries.remove(delivery);
Delivery d = event.getDelivery(); DeliveryState remoteState = d.getRemoteState();
break; case DELIVERY: processDelivery(event.getDelivery()); break; default:
break; case DELIVERY: processDelivery(event.getDelivery()); break; default:
ProtonDeliveryImpl delivery = (ProtonDeliveryImpl) protonEvent.getDelivery().getContext(); if (delivery != null) { delivery.fireUpdate();
break; case DELIVERY: handler.onDelivery(event.getDelivery()); break; default:
break; case DELIVERY: handler.onDelivery(event.getDelivery()); break;
break; case DELIVERY: handler.onDelivery(event.getDelivery()); break; default: