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

A single AMQP delivery tracker instance. More...

Inheritance diagram for Apache.Qpid.Proton.Client.IDelivery:
Apache.Qpid.Proton.Client.Implementation.ClientDelivery

Public Member Functions

IMessage< object > Message ()
 Decodes the payload of the delivery and returns a new message.
 
IDelivery Accept ()
 Accepts and settles this delivery.
 
Task< IDeliveryAcceptAsync ()
 Accepts and settles this delivery asynchronously ensuring that the call does not block on any IO or other client operations.
 
IDelivery Release ()
 Releases and settles this delivery.
 
Task< IDeliveryReleaseAsync ()
 Releases and settles this delivery asynchronously ensuring that the call does not block on any IO or other client operations.
 
IDelivery Reject (string condition, string description)
 Rejects the delivery with an ErrorCondition that contains the provided condition and description information and settles.
 
Task< IDeliveryRejectAsync (string condition, string description)
 Asynchronously rejects the delivery with an ErrorCondition that contains the provided condition and description information and settles.
 
IDelivery Modified (bool deliveryFailed, bool undeliverableHere)
 Modifies and settles the delivery applying the failure and routing options.
 
Task< IDeliveryModifiedAsync (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.
 
IDelivery Disposition (IDeliveryState state, bool settled)
 Applies the given delivery state to the delivery if not already settled and optionally settles it.
 
Task< IDeliveryDispositionAsync (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.
 
IDelivery Settle ()
 Settles the delivery with the remote which prevents any further delivery state updates.
 
Task< IDeliverySettleAsync ()
 Settles the delivery with the remote which prevents any further delivery state updates asynchronously.
 

Properties

IReceiver Receiver [get]
 Returns the parent receiver instance where this delivery arrived.
 
uint MessageFormat [get]
 The message format value that was transmitted with this delivery (default is zero).
 
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.
 
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.
 
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.
 

Detailed Description

A single AMQP delivery tracker instance.

Member Function Documentation

◆ Accept()

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

Accepts and settles this delivery.

Returns
This delivery instance

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

◆ AcceptAsync()

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

◆ Disposition()

IDelivery Apache.Qpid.Proton.Client.IDelivery.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.ClientDelivery.

◆ DispositionAsync()

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

◆ Message()

IMessage< object > Apache.Qpid.Proton.Client.IDelivery.Message ( )

Decodes the payload of the delivery and returns a new message.

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

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

◆ Modified()

IDelivery Apache.Qpid.Proton.Client.IDelivery.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.ClientDelivery.

◆ ModifiedAsync()

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

◆ Reject()

IDelivery Apache.Qpid.Proton.Client.IDelivery.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.ClientDelivery.

◆ RejectAsync()

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

◆ Release()

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

Releases and settles this delivery.

Returns
This delivery instance

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

◆ ReleaseAsync()

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

◆ Settle()

IDelivery Apache.Qpid.Proton.Client.IDelivery.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.ClientDelivery.

◆ SettleAsync()

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

Property Documentation

◆ Annotations

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

◆ MessageFormat

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

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

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

◆ RawInputStream

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

◆ Receiver

IReceiver Apache.Qpid.Proton.Client.IDelivery.Receiver
get

Returns the parent receiver instance where this delivery arrived.

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

◆ RemoteSettled

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

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

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

◆ RemoteState

IDeliveryState Apache.Qpid.Proton.Client.IDelivery.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.ClientDelivery.

◆ Settled

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

Returns true if this delivery has already been settled.

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

◆ State

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

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

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


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