private void configureQos(Link link, QoS qos) { switch (qos) { case AT_MOST_ONCE: link.setSenderSettleMode(SenderSettleMode.SETTLED); link.setReceiverSettleMode(ReceiverSettleMode.FIRST); break; case AT_LEAST_ONCE: link.setSenderSettleMode(SenderSettleMode.UNSETTLED); link.setReceiverSettleMode(ReceiverSettleMode.FIRST); break; case EXACTLY_ONCE: link.setSenderSettleMode(SenderSettleMode.UNSETTLED); link.setReceiverSettleMode(ReceiverSettleMode.SECOND); break; } }
@Override public T setQoS(ProtonQoS qos) { if (qos == null) { throw new IllegalArgumentException("Value must be specified"); } switch (qos) { case AT_MOST_ONCE: link.setSenderSettleMode(SenderSettleMode.SETTLED); link.setReceiverSettleMode(ReceiverSettleMode.FIRST); break; case AT_LEAST_ONCE: link.setSenderSettleMode(SenderSettleMode.UNSETTLED); link.setReceiverSettleMode(ReceiverSettleMode.FIRST); break; } return self(); }
target.setAddress(this.amqpLinkAddress); link.setTarget(target); link.setSenderSettleMode(SenderSettleMode.UNSETTLED);
/** * Event handler for the link init event. Sets the proper target address on the link. * @param event The Proton Event object. */ @Override public void onLinkInit(Event event) { Link link = event.getLink(); if(link.getName().equals(sendTag)) { // Codes_SRS_AMQPSIOTHUBCONNECTION_15_043: [If the link is the Sender link, the event handler shall create a new Target (Proton) object using the sender endpoint address member variable.] Target t = new Target(); t.setAddress(this.sendEndpoint); // Codes_SRS_AMQPSIOTHUBCONNECTION_15_044: [If the link is the Sender link, the event handler shall set its target to the created Target (Proton) object.] link.setTarget(t); // Codes_SRS_AMQPSIOTHUBCONNECTION_14_045: [If the link is the Sender link, the event handler shall set the SenderSettleMode to UNSETTLED.] link.setSenderSettleMode(SenderSettleMode.UNSETTLED); } else { // Codes_SRS_AMQPSIOTHUBCONNECTION_14_046: [If the link is the Receiver link, the event handler shall create a new Source (Proton) object using the receiver endpoint address member variable.] Source source = new Source(); source.setAddress(this.receiveEndpoint); // Codes_SRS_AMQPSIOTHUBCONNECTION_14_047: [If the link is the Receiver link, the event handler shall set its source to the created Source (Proton) object.] link.setSource(source); } }
link.setSenderSettleMode(SenderSettleMode.UNSETTLED);