Search in sources :

Example 21 with Sender

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;
}
Also used : Sender(org.apache.qpid.proton.engine.Sender) ProtonSender(io.vertx.proton.ProtonSender) Target(org.apache.qpid.proton.amqp.messaging.Target) Symbol(org.apache.qpid.proton.amqp.Symbol) Source(org.apache.qpid.proton.amqp.messaging.Source)

Example 22 with Sender

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);
}
Also used : Sender(org.apache.qpid.proton.engine.Sender) Receiver(org.apache.qpid.proton.engine.Receiver)

Aggregations

Sender (org.apache.qpid.proton.engine.Sender)22 Test (org.junit.Test)10 AmqpClient (org.apache.activemq.transport.amqp.client.AmqpClient)7 AmqpConnection (org.apache.activemq.transport.amqp.client.AmqpConnection)7 AmqpSender (org.apache.activemq.transport.amqp.client.AmqpSender)7 AmqpSession (org.apache.activemq.transport.amqp.client.AmqpSession)7 AmqpValidator (org.apache.activemq.transport.amqp.client.AmqpValidator)7 Delivery (org.apache.qpid.proton.engine.Delivery)7 Source (org.apache.qpid.proton.amqp.messaging.Source)5 Connection (org.apache.qpid.proton.engine.Connection)5 Session (org.apache.qpid.proton.engine.Session)5 AmqpMessage (org.apache.activemq.transport.amqp.client.AmqpMessage)4 Symbol (org.apache.qpid.proton.amqp.Symbol)4 Target (org.apache.qpid.proton.amqp.messaging.Target)4 IAmqpSender (com.microsoft.azure.servicebus.amqp.IAmqpSender)3 ErrorCondition (org.apache.qpid.proton.amqp.transport.ErrorCondition)3 Receiver (org.apache.qpid.proton.engine.Receiver)3 SendLinkHandler (com.microsoft.azure.servicebus.amqp.SendLinkHandler)2 SessionHandler (com.microsoft.azure.servicebus.amqp.SessionHandler)2 HashMap (java.util.HashMap)2