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

A single AMQP delivery tracker instance. More...

Inheritance diagram for Apache.Qpid.Proton.Client.ITracker:
Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker Apache.Qpid.Proton.Client.Implementation.ClientTracker

Public Member Functions

ITracker Settle ()
 Settles the sent delivery if not performing auto-settlement on the sender.
 
Task< ITrackerSettleAsync ()
 Settles the sent delivery if not performing auto-settlement on the sender and returns a Task that will be completed once any IO operations required by the settlement have completed.
 
ITracker Disposition (IDeliveryState state, bool settle)
 Apply the delivery state and optionally settle the sent delivery with the remote.
 
Task< ITrackerDispositionAsync (IDeliveryState state, bool settle)
 Apply the delivery state and optionally settle the sent delivery with the remote. The method returns a Task that will be completed once any required IO operations in order to apply the disposition have been completed.
 
ITracker AwaitSettlement ()
 Waits for the remote to settle the sent delivery unless the delivery was already settled by the remote or the delivery was sent already settled.
 
ITracker AwaitSettlement (TimeSpan timeout)
 Waits for the remote to settle the sent delivery unless the delivery was already settled by the remote or the delivery was sent already settled.
 
ITracker AwaitAccepted ()
 Waits for the remote to accept and settle the sent delivery unless the delivery was already settled by the remote or the delivery was sent already settled.
 
ITracker AwaitAccepted (TimeSpan timeout)
 Waits for the remote to accept and settle the sent delivery unless the delivery was already settled by the remote or the delivery was sent already settled.
 

Properties

ISender Sender [get]
 Returns the parent sender instance that sent the delivery that is now being tacked.
 
bool Settled [get]
 Indicates if the sent delivery has already been locally settled.
 
IDeliveryState State [get]
 Retrieve the currently applied delivery state for the sent delivery.
 
bool RemoteSettled [get]
 Indicates if the sent delivery has already been remotely settled.
 
IDeliveryState RemoteState [get]
 Retrieve the currently applied delivery state by the remote for the sent delivery.
 
Task< ITrackerSettlementTask [get]
 Gets a task that will be completed once the remote has settled the sent delivery, or will indicate an error if the connection fails before the remote can settle. If the sender sent the tracked delivery settled the task returned will already be completed.
 

Detailed Description

A single AMQP delivery tracker instance.

Member Function Documentation

◆ AwaitAccepted() [1/2]

ITracker Apache.Qpid.Proton.Client.ITracker.AwaitAccepted ( )

Waits for the remote to accept and settle the sent delivery unless the delivery was already settled by the remote or the delivery was sent already settled.

If the remote send back a delivery state other than accepted then this method will throw an ClientDeliveryStateException to indicate the expected outcome was not achieved.

Returns
This tracker instance

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker, and Apache.Qpid.Proton.Client.Implementation.ClientTracker.

◆ AwaitAccepted() [2/2]

ITracker Apache.Qpid.Proton.Client.ITracker.AwaitAccepted ( TimeSpan  timeout)

Waits for the remote to accept and settle the sent delivery unless the delivery was already settled by the remote or the delivery was sent already settled.

If the remote send back a delivery state other than accepted then this method will throw an ClientDeliveryStateException to indicate the expected outcome was not achieved.

Parameters
timeoutThe duration to wait for the remote to accept the delivery
Returns
This tracker instance

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker, and Apache.Qpid.Proton.Client.Implementation.ClientTracker.

◆ AwaitSettlement() [1/2]

ITracker Apache.Qpid.Proton.Client.ITracker.AwaitSettlement ( )

Waits for the remote to settle the sent delivery unless the delivery was already settled by the remote or the delivery was sent already settled.

Returns
This tracker instance

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker, and Apache.Qpid.Proton.Client.Implementation.ClientTracker.

◆ AwaitSettlement() [2/2]

ITracker Apache.Qpid.Proton.Client.ITracker.AwaitSettlement ( TimeSpan  timeout)

Waits for the remote to settle the sent delivery unless the delivery was already settled by the remote or the delivery was sent already settled.

Parameters
timeoutThe duration to wait for the remote to settle the delivery
Returns
This tracker instance

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker, and Apache.Qpid.Proton.Client.Implementation.ClientTracker.

◆ Disposition()

ITracker Apache.Qpid.Proton.Client.ITracker.Disposition ( IDeliveryState  state,
bool  settle 
)

Apply the delivery state and optionally settle the sent delivery with the remote.

Parameters
stateThe delivery state to apply to the sent delivery
settleOptionally settle the delivery that was sent
Returns
This tracker instance

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker, and Apache.Qpid.Proton.Client.Implementation.ClientTracker.

◆ DispositionAsync()

Task< ITracker > Apache.Qpid.Proton.Client.ITracker.DispositionAsync ( IDeliveryState  state,
bool  settle 
)

Apply the delivery state and optionally settle the sent delivery with the remote. The method returns a Task that will be completed once any required IO operations in order to apply the disposition have been completed.

Parameters
stateThe delivery state to apply to the sent delivery
settleOptionally settle the delivery that was sent
Returns
This tracker instance

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker, and Apache.Qpid.Proton.Client.Implementation.ClientTracker.

◆ Settle()

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

Settles the sent delivery if not performing auto-settlement on the sender.

Returns
This tracker instance

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker, and Apache.Qpid.Proton.Client.Implementation.ClientTracker.

◆ SettleAsync()

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

Settles the sent delivery if not performing auto-settlement on the sender and returns a Task that will be completed once any IO operations required by the settlement have completed.

Returns
This tracker instance

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker, and Apache.Qpid.Proton.Client.Implementation.ClientTracker.

Property Documentation

◆ RemoteSettled

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

Indicates if the sent delivery has already been remotely settled.

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker, and Apache.Qpid.Proton.Client.Implementation.ClientTracker.

◆ RemoteState

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

Retrieve the currently applied delivery state by the remote for the sent delivery.

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker, and Apache.Qpid.Proton.Client.Implementation.ClientTracker.

◆ Sender

ISender Apache.Qpid.Proton.Client.ITracker.Sender
get

Returns the parent sender instance that sent the delivery that is now being tacked.

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker, and Apache.Qpid.Proton.Client.Implementation.ClientTracker.

◆ Settled

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

Indicates if the sent delivery has already been locally settled.

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker, and Apache.Qpid.Proton.Client.Implementation.ClientTracker.

◆ SettlementTask

Task<ITracker> Apache.Qpid.Proton.Client.ITracker.SettlementTask
get

Gets a task that will be completed once the remote has settled the sent delivery, or will indicate an error if the connection fails before the remote can settle. If the sender sent the tracked delivery settled the task returned will already be completed.

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker, and Apache.Qpid.Proton.Client.Implementation.ClientTracker.

◆ State

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

Retrieve the currently applied delivery state for the sent delivery.

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpTracker, and Apache.Qpid.Proton.Client.Implementation.ClientTracker.


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