use of org.apache.qpid.proton.engine.Sender in project vertx-proton by vert-x3.
the class ProtonSessionImpl method createSender.
@Override
public ProtonSender createSender(String address, ProtonLinkOptions senderOptions) {
Sender sender = session.sender(getOrCreateLinkName(senderOptions));
Symbol[] outcomes = new Symbol[] { Accepted.DESCRIPTOR_SYMBOL, Rejected.DESCRIPTOR_SYMBOL, Released.DESCRIPTOR_SYMBOL, Modified.DESCRIPTOR_SYMBOL };
Source source = new Source();
source.setOutcomes(outcomes);
Target target = new Target();
target.setAddress(address);
if (senderOptions.isDynamic()) {
target.setDynamic(true);
}
sender.setSource(source);
sender.setTarget(target);
ProtonSenderImpl s = new ProtonSenderImpl(sender);
if (address == null) {
s.setAnonymousSender(true);
}
s.openHandler((result) -> {
LOG.trace("Sender open completed");
});
s.closeHandler((result) -> {
if (result.succeeded()) {
LOG.trace("Sender closed");
} else {
LOG.warn("Sender closed with error", result.cause());
}
});
// Default to at-least-once
s.setQoS(ProtonQoS.AT_LEAST_ONCE);
return s;
}
use of org.apache.qpid.proton.engine.Sender in project azure-iot-sdk-java by Azure.
the class CbsSessionHandler method onSessionLocalOpen.
@Override
public void onSessionLocalOpen(Event event) {
this.session = event.getSession();
Sender cbsSender = this.session.sender(CbsSenderLinkHandler.getCbsTag());
if (this.credential != null) {
this.cbsSenderLinkHandler = new CbsSenderLinkHandler(cbsSender, this, this.credential);
} else if (this.sasTokenProvider != null) {
this.cbsSenderLinkHandler = new CbsSenderLinkHandler(cbsSender, this, this.sasTokenProvider);
} else {
this.cbsSenderLinkHandler = new CbsSenderLinkHandler(cbsSender, this, this.sasToken);
}
Receiver cbsReceiver = this.session.receiver(CbsReceiverLinkHandler.getCbsTag());
this.cbsReceiverLinkHandler = new CbsReceiverLinkHandler(cbsReceiver, this, this);
}
Aggregations