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

Special streaming sender related tracker that is linked to a stream sender message and provides the tracker functions for those types of messages. More...

Inheritance diagram for Apache.Qpid.Proton.Client.IStreamTracker:
Apache.Qpid.Proton.Client.Implementation.ClientNoOpStreamTracker Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker

Public Member Functions

IStreamTracker Settle ()
 Settles the sent delivery if not performing auto-settlement on the sender.
 
Task< IStreamTrackerSettleAsync ()
 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.
 
IStreamTracker Disposition (IDeliveryState state, bool settle)
 Apply the delivery state and optionally settle the sent delivery with the remote.
 
Task< IStreamTrackerDispositionAsync (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.
 
IStreamTracker 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.
 
IStreamTracker 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.
 
IStreamTracker 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.
 
IStreamTracker 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

IStreamSender 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< IStreamTrackerSettlementTask [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

Special streaming sender related tracker that is linked to a stream sender message and provides the tracker functions for those types of messages.

Member Function Documentation

◆ AwaitAccepted() [1/2]

IStreamTracker Apache.Qpid.Proton.Client.IStreamTracker.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.ClientNoOpStreamTracker, and Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker.

◆ AwaitAccepted() [2/2]

IStreamTracker Apache.Qpid.Proton.Client.IStreamTracker.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.ClientNoOpStreamTracker, and Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker.

◆ AwaitSettlement() [1/2]

IStreamTracker Apache.Qpid.Proton.Client.IStreamTracker.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.ClientNoOpStreamTracker, and Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker.

◆ AwaitSettlement() [2/2]

IStreamTracker Apache.Qpid.Proton.Client.IStreamTracker.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.ClientNoOpStreamTracker, and Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker.

◆ Disposition()

IStreamTracker Apache.Qpid.Proton.Client.IStreamTracker.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.ClientNoOpStreamTracker, and Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker.

◆ DispositionAsync()

Task< IStreamTracker > Apache.Qpid.Proton.Client.IStreamTracker.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.ClientNoOpStreamTracker, and Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker.

◆ Settle()

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

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

Returns
This tracker instance

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpStreamTracker, and Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker.

◆ SettleAsync()

Task< IStreamTracker > Apache.Qpid.Proton.Client.IStreamTracker.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.ClientNoOpStreamTracker, and Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker.

Property Documentation

◆ RemoteSettled

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

Indicates if the sent delivery has already been remotely settled.

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpStreamTracker, and Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker.

◆ RemoteState

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

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpStreamTracker, and Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker.

◆ Sender

IStreamSender Apache.Qpid.Proton.Client.IStreamTracker.Sender
get

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

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpStreamTracker, and Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker.

◆ Settled

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

Indicates if the sent delivery has already been locally settled.

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpStreamTracker, and Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker.

◆ SettlementTask

Task<IStreamTracker> Apache.Qpid.Proton.Client.IStreamTracker.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.ClientNoOpStreamTracker, and Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker.

◆ State

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

Retrieve the currently applied delivery state for the sent delivery.

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientNoOpStreamTracker, and Apache.Qpid.Proton.Client.Implementation.ClientStreamTracker.


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