The stream delivery type manages the underlying state of an incoming streaming message delivery and provides the stream type used to read and block for reads when not all requested message data has arrived. The delivery will also manage settlement of a streaming delivery and apply receiver configuration rules like auto settlement to the delivery as incoming portions of the message arrive.
More...
|
IStreamReceiverMessage | Message () |
| Returns a stream receiver message type that will perform a decode of message payload as portions of the streamed message arrive. The message API is inherently a blocking API as the decoder will need to wait in some cases to decode a full section the incoming message when it is requested. More...
|
|
IStreamDelivery | Accept () |
| Accepts and settles this delivery. More...
|
|
IStreamDelivery | Disposition (IDeliveryState state, bool settled) |
| Applies the given delivery state to the delivery if not already settled and optionally settles it. More...
|
|
IStreamDelivery | Modified (bool deliveryFailed, bool undeliverableHere) |
| Modifies and settles the delivery applying the failure and routing options. More...
|
|
IStreamDelivery | Reject (string condition, string description) |
| Rejects the delivery with an ErrorCondition that contains the provided condition and description information and settles. More...
|
|
IStreamDelivery | Release () |
| Releases and settles this delivery. More...
|
|
IStreamDelivery | Settle () |
| Settles the delivery with the remote which prevents any further delivery state updates. More...
|
|
Task< IStreamDelivery > | AcceptAsync () |
| Accepts and settles this delivery asynchronously ensuring that the call does not block on any IO or other client operations. More...
|
|
Task< IStreamDelivery > | ReleaseAsync () |
| Releases and settles this delivery asynchronously ensuring that the call does not block on any IO or other client operations. More...
|
|
Task< IStreamDelivery > | RejectAsync (string condition, string description) |
| Asynchronously rejects the delivery with an ErrorCondition that contains the provided condition and description information and settles. More...
|
|
Task< IStreamDelivery > | ModifiedAsync (bool deliveryFailed, bool undeliverableHere) |
| Modifies and settles the delivery asynchronously applying the failure and routing options without any blocking due to IO or other client internal operations. More...
|
|
Task< IStreamDelivery > | DispositionAsync (IDeliveryState state, bool settled) |
| Applies the given delivery state to the delivery if not already settled and optionally settles it performing all IO and client work asynchronously ensuring that any calls to this method do not block. More...
|
|
Task< IStreamDelivery > | SettleAsync () |
| Settles the delivery with the remote which prevents any further delivery state updates asynchronously. More...
|
|
|
IReadOnlyDictionary< string, object >? | Annotations [get] |
|
Stream | RawInputStream [get] |
|
IStreamReceiver | Receiver [get] |
| Returns the parent streaming receiver instance where this delivery arrived. More...
|
|
uint | MessageFormat [get] |
| The message format value that was transmitted with this delivery (default is zero). More...
|
|
IReadOnlyDictionary< string, object > | Annotations [get] |
| Decodes the delivery payload and returns a dictionary containing a copy of any associated delivery annotations that were transmitted with the message payload. More...
|
|
Stream | RawInputStream [get] |
| Create and return an read-only Stream that reads the raw payload bytes of the given delivery. Calling this method claims the payload of the delivery for the returned Stream and excludes use of the message and annotations API methods of the delivery object. Closing the returned input stream discards any unread bytes from the delivery payload. Calling the message or annotations methods after calling this method will throw a ClientIllegalStateException. More...
|
|
bool | Settled [get] |
| Returns true if this delivery has already been settled. More...
|
|
IDeliveryState | State [get] |
| Returns the currently set delivery state for this delivery or null if none set. More...
|
|
bool | RemoteSettled [get] |
| Returns true if this delivery has already been settled by the remote. More...
|
|
IDeliveryState | RemoteState [get] |
| Returns the currently set delivery state for this delivery as set by the remote or null if none set. More...
|
|
bool | Aborted [get] |
| Returns true if the remote has aborted this incoming streaming delivery and no more bytes are available for read from the remote. More...
|
|
bool | Completed [get] |
| Returns true if the remote has completed the send of all portions of the streaming delivery payload and there are no more incoming bytes expected or allowed for this delivery. More...
|
|
The stream delivery type manages the underlying state of an incoming streaming message delivery and provides the stream type used to read and block for reads when not all requested message data has arrived. The delivery will also manage settlement of a streaming delivery and apply receiver configuration rules like auto settlement to the delivery as incoming portions of the message arrive.
Returns a stream receiver message type that will perform a decode of message payload as portions of the streamed message arrive. The message API is inherently a blocking API as the decoder will need to wait in some cases to decode a full section the incoming message when it is requested.
If the incoming message carried any delivery annotations they can be accessed via the Annotations method. Re-sending the returned message will not also send the incoming delivery annotations, the sender must include them in the sender's send call if they are to be forwarded onto the next recipient.
- Template Parameters
-
T | Body type of the message |
- Returns
- the decoded message from the delivery payload
Implements Apache.Qpid.Proton.Client.IStreamDelivery.