Proton DotNet
Loading...
Searching...
No Matches
Classes | Public Member Functions | Properties | List of all members
Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery Class Reference

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...

Inheritance diagram for Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery:
Apache.Qpid.Proton.Client.IStreamDelivery

Public Member Functions

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.
 
IStreamDelivery Accept ()
 Accepts and settles this delivery.
 
IStreamDelivery Disposition (IDeliveryState state, bool settled)
 Applies the given delivery state to the delivery if not already settled and optionally settles it.
 
IStreamDelivery Modified (bool deliveryFailed, bool undeliverableHere)
 Modifies and settles the delivery applying the failure and routing options.
 
IStreamDelivery Reject (string condition, string description)
 Rejects the delivery with an ErrorCondition that contains the provided condition and description information and settles.
 
IStreamDelivery Release ()
 Releases and settles this delivery.
 
IStreamDelivery Settle ()
 Settles the delivery with the remote which prevents any further delivery state updates.
 
Task< IStreamDeliveryAcceptAsync ()
 Accepts and settles this delivery asynchronously ensuring that the call does not block on any IO or other client operations.
 
Task< IStreamDeliveryReleaseAsync ()
 Releases and settles this delivery asynchronously ensuring that the call does not block on any IO or other client operations.
 
Task< IStreamDeliveryRejectAsync (string condition, string description)
 Asynchronously rejects the delivery with an ErrorCondition that contains the provided condition and description information and settles.
 
Task< IStreamDeliveryModifiedAsync (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.
 
Task< IStreamDeliveryDispositionAsync (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.
 
Task< IStreamDeliverySettleAsync ()
 Settles the delivery with the remote which prevents any further delivery state updates asynchronously.
 

Properties

IStreamReceiver Receiver [get]
 Returns the parent streaming receiver instance where this delivery arrived.
 
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.
 
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.
 
uint MessageFormat [get]
 The message format value that was transmitted with this delivery (default is zero).
 
bool Settled [get]
 Returns true if this delivery has already been settled.
 
IDeliveryState State [get]
 Returns the currently set delivery state for this delivery or null if none set.
 
bool RemoteSettled [get]
 Returns true if this delivery has already been settled by the remote.
 
IDeliveryState RemoteState [get]
 Returns the currently set delivery state for this delivery as set by the remote or null if none set.
 
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.
 
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.
 
- Properties inherited from Apache.Qpid.Proton.Client.IStreamDelivery

Detailed Description

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.

Member Function Documentation

◆ Accept()

IStreamDelivery Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.Accept ( )
inline

Accepts and settles this delivery.

Returns
This delivery instance

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ AcceptAsync()

Task< IStreamDelivery > Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.AcceptAsync ( )
inline

Accepts and settles this delivery asynchronously ensuring that the call does not block on any IO or other client operations.

Returns
A Task that returns this delivery instance

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ Disposition()

IStreamDelivery Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.Disposition ( IDeliveryState  state,
bool  settled 
)
inline

Applies the given delivery state to the delivery if not already settled and optionally settles it.

Parameters
statedelivery state to apply to this delivery
settledoptionally settles the delivery
Returns
This delivery instance

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ DispositionAsync()

Task< IStreamDelivery > Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.DispositionAsync ( IDeliveryState  state,
bool  settled 
)
inline

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.

Parameters
statedelivery state to apply to this delivery
settledoptionally settles the delivery
Returns
A Task that returns this delivery instance

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ Message()

IStreamReceiverMessage Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.Message ( )
inline

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
TBody type of the message
Returns
the decoded message from the delivery payload

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ Modified()

IStreamDelivery Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.Modified ( bool  deliveryFailed,
bool  undeliverableHere 
)
inline

Modifies and settles the delivery applying the failure and routing options.

Parameters
deliveryFailedIf the delivery failed on this receiver for some reason
undeliverableHereIf the delivery should not be routed back to this receiver.
Returns
This delivery instance

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ ModifiedAsync()

Task< IStreamDelivery > Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.ModifiedAsync ( bool  deliveryFailed,
bool  undeliverableHere 
)
inline

Modifies and settles the delivery asynchronously applying the failure and routing options without any blocking due to IO or other client internal operations.

Parameters
deliveryFailedIf the delivery failed on this receiver for some reason
undeliverableHereIf the delivery should not be routed back to this receiver.
Returns
A Task that returns this delivery instance

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ Reject()

IStreamDelivery Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.Reject ( string  condition,
string  description 
)
inline

Rejects the delivery with an ErrorCondition that contains the provided condition and description information and settles.

Parameters
conditionThe condition that defines this rejection error
descriptionA description of the rejection cause.
Returns
This delivery instance

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ RejectAsync()

Task< IStreamDelivery > Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.RejectAsync ( string  condition,
string  description 
)
inline

Asynchronously rejects the delivery with an ErrorCondition that contains the provided condition and description information and settles.

Parameters
conditionThe condition that defines this rejection error
descriptionA description of the rejection cause.
Returns
A Task that returns this delivery instance

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ Release()

IStreamDelivery Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.Release ( )
inline

Releases and settles this delivery.

Returns
This delivery instance

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ ReleaseAsync()

Task< IStreamDelivery > Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.ReleaseAsync ( )
inline

Releases and settles this delivery asynchronously ensuring that the call does not block on any IO or other client operations.

Returns
A Task that returns this delivery instance

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ Settle()

IStreamDelivery Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.Settle ( )
inline

Settles the delivery with the remote which prevents any further delivery state updates.

Returns
This delivery instance

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ SettleAsync()

Task< IStreamDelivery > Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.SettleAsync ( )
inline

Settles the delivery with the remote which prevents any further delivery state updates asynchronously.

Returns
A Task that returns this delivery instance

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

Property Documentation

◆ Aborted

bool Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.Aborted
get

Returns true if the remote has aborted this incoming streaming delivery and no more bytes are available for read from the remote.

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ Annotations

IReadOnlyDictionary<string, object> Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.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.

Calling this message claims the payload of the delivery for the message and annotations methods and excludes use of the RawInputStream method of the delivery object. Calling the RawInputStream method after calling this method throws ClientIllegalStateException.

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ Completed

bool Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.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.

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ MessageFormat

uint Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.MessageFormat
get

The message format value that was transmitted with this delivery (default is zero).

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ RawInputStream

Stream Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.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.

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ Receiver

IStreamReceiver Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.Receiver
get

Returns the parent streaming receiver instance where this delivery arrived.

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ RemoteSettled

bool Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.RemoteSettled
get

Returns true if this delivery has already been settled by the remote.

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ RemoteState

IDeliveryState Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.RemoteState
get

Returns the currently set delivery state for this delivery as set by the remote or null if none set.

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ Settled

bool Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.Settled
get

Returns true if this delivery has already been settled.

Implements Apache.Qpid.Proton.Client.IStreamDelivery.

◆ State

IDeliveryState Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.State
get

Returns the currently set delivery state for this delivery or null if none set.

Implements Apache.Qpid.Proton.Client.IStreamDelivery.


The documentation for this class was generated from the following file: