Proton DotNet
Loading...
Searching...
No Matches
Public Member Functions | Properties | List of all members
Apache.Qpid.Proton.Client.IStreamDelivery Interface Reference

A specialized delivery type that is returned from the stream receiver which can be used to read incoming large messages that are streamed via multiple incoming AMQP transfer frames. More...

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

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

Detailed Description

A specialized delivery type that is returned from the stream receiver which can be used to read incoming large messages that are streamed via multiple incoming AMQP transfer frames.

Member Function Documentation

◆ Accept()

IStreamDelivery Apache.Qpid.Proton.Client.IStreamDelivery.Accept ( )

Accepts and settles this delivery.

Returns
This delivery instance

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ AcceptAsync()

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

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ Disposition()

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

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ DispositionAsync()

Task< IStreamDelivery > Apache.Qpid.Proton.Client.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.

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ Message()

IStreamReceiverMessage Apache.Qpid.Proton.Client.IStreamDelivery.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.

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ Modified()

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

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ ModifiedAsync()

Task< IStreamDelivery > Apache.Qpid.Proton.Client.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.

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ Reject()

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

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ RejectAsync()

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

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ Release()

IStreamDelivery Apache.Qpid.Proton.Client.IStreamDelivery.Release ( )

Releases and settles this delivery.

Returns
This delivery instance

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ ReleaseAsync()

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

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ Settle()

IStreamDelivery Apache.Qpid.Proton.Client.IStreamDelivery.Settle ( )

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

Returns
This delivery instance

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ SettleAsync()

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

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

Returns
A Task that returns this delivery instance

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

Property Documentation

◆ Aborted

bool Apache.Qpid.Proton.Client.IStreamDelivery.Aborted
get

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ Annotations

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ Completed

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ MessageFormat

uint Apache.Qpid.Proton.Client.IStreamDelivery.MessageFormat
get

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ RawInputStream

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ Receiver

IStreamReceiver Apache.Qpid.Proton.Client.IStreamDelivery.Receiver
get

Returns the parent streaming receiver instance where this delivery arrived.

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ RemoteSettled

bool Apache.Qpid.Proton.Client.IStreamDelivery.RemoteSettled
get

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ RemoteState

IDeliveryState Apache.Qpid.Proton.Client.IStreamDelivery.RemoteState
get

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ Settled

bool Apache.Qpid.Proton.Client.IStreamDelivery.Settled
get

Returns true if this delivery has already been settled.

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.

◆ State

IDeliveryState Apache.Qpid.Proton.Client.IStreamDelivery.State
get

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamDelivery.


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