Class ClientStreamSender.ClientOutgoingEnvelope
java.lang.Object
org.apache.qpid.protonj2.client.impl.ClientStreamSender.ClientOutgoingEnvelope
- All Implemented Interfaces:
org.apache.qpid.protonj2.client.impl.ClientTransactionContext.Sendable
- Enclosing class:
ClientStreamSender
public static final class ClientStreamSender.ClientOutgoingEnvelope
extends Object
implements org.apache.qpid.protonj2.client.impl.ClientTransactionContext.Sendable
-
Constructor Summary
ConstructorsConstructorDescriptionClientOutgoingEnvelope(ClientStreamSender sender, org.apache.qpid.protonj2.engine.OutgoingDelivery delivery, int messageFormat, org.apache.qpid.protonj2.buffer.ProtonBuffer payload, boolean complete, ClientFuture<StreamTracker> request) Create a new In-flight Send instance that is a continuation on an existing delivery. -
Method Summary
Modifier and TypeMethodDescriptionabort()booleanaborted()org.apache.qpid.protonj2.engine.OutgoingDeliverydelivery()voiddiscard()If the context that is overseeing this send is in a failed state it can request that the send be discarded without notification to the sender that it failed, this occurs most often in an in-doubt transaction context where all work will be dropped once the user attempt to retire the transaction.failed(ClientException exception) org.apache.qpid.protonj2.buffer.ProtonBufferpayload()voidsend(org.apache.qpid.protonj2.types.transport.DeliveryState state, boolean settled) Performs the actual send of delivery data which might be enlisted in a transaction or may simply be a passed through based on the context and its state.Future<?> voidsendTimeout(Future<?> sendTimeout) Sets theFuturewhich should be used when a send cannot be immediately performed.
-
Constructor Details
-
ClientOutgoingEnvelope
public ClientOutgoingEnvelope(ClientStreamSender sender, org.apache.qpid.protonj2.engine.OutgoingDelivery delivery, int messageFormat, org.apache.qpid.protonj2.buffer.ProtonBuffer payload, boolean complete, ClientFuture<StreamTracker> request) Create a new In-flight Send instance that is a continuation on an existing delivery.- Parameters:
sender- TheClientSenderinstance that is attempting to send this encoded message.delivery- TheOutgoingDeliverycontext this envelope will be added to.messageFormat- The message format code to assign the send if this is the first delivery.payload- The payload that comprises this portion of the send.complete- Indicates if the encoded payload represents the complete transfer or if more is coming.request- The requesting operation that initiated this send.
-
-
Method Details
-
sendTimeout
- Returns:
- the
Futureused to determine when the send should fail if no credit available to write.
-
sendTimeout
Sets theFuturewhich should be used when a send cannot be immediately performed.- Parameters:
sendTimeout- TheFuturethat will fail the send if not cancelled once it has been performed.
-
payload
public org.apache.qpid.protonj2.buffer.ProtonBuffer payload() -
delivery
public org.apache.qpid.protonj2.engine.OutgoingDelivery delivery() -
abort
-
aborted
public boolean aborted() -
discard
public void discard()Description copied from interface:org.apache.qpid.protonj2.client.impl.ClientTransactionContext.SendableIf the context that is overseeing this send is in a failed state it can request that the send be discarded without notification to the sender that it failed, this occurs most often in an in-doubt transaction context where all work will be dropped once the user attempt to retire the transaction.- Specified by:
discardin interfaceorg.apache.qpid.protonj2.client.impl.ClientTransactionContext.Sendable
-
succeeded
-
failed
-
send
public void send(org.apache.qpid.protonj2.types.transport.DeliveryState state, boolean settled) Description copied from interface:org.apache.qpid.protonj2.client.impl.ClientTransactionContext.SendablePerforms the actual send of delivery data which might be enlisted in a transaction or may simply be a passed through based on the context and its state. The sender need not be aware of this though as the context will provide a delivery state that is appropriate for this send which would encapsulate any sender provided delivery state.- Specified by:
sendin interfaceorg.apache.qpid.protonj2.client.impl.ClientTransactionContext.Sendable- Parameters:
state- Sender provided delivery state or context decorated version.settled- If the send should be sent settled or not.
-
createSendTimedOutException
-