Proton DotNet
Public Member Functions | Properties | List of all members
Apache.Qpid.Proton.Engine.IReceiver Interface Reference

AMQP Receiver link resource. More...

Inheritance diagram for Apache.Qpid.Proton.Engine.IReceiver:
Apache.Qpid.Proton.Engine.ILink< IReceiver > Apache.Qpid.Proton.Engine.Implementation.ProtonReceiver

Public Member Functions

IReceiver AddCredit (uint amount)
 Adds the given amount of credit to the receiver's already existing credit if any. More...
 
bool Drain ()
 Initiate a drain of all remaining credit of this link, the remote sender will then either send enough deliveries to fulfill the drain request or report that it cannot and all remaining link credit will be consumed. More...
 
bool Drain (uint credit)
 Initiate a drain of the given credit from this this receiver} link. If the credit given is greater than the current link credit the current credit is increased, however if the amount of credit given is less that the current amount of link credit an exception is thrown. More...
 
IReceiver Disposition (Predicate< IIncomingDelivery > filter, IDeliveryState state, bool settle)
 For each unsettled outgoing delivery that is pending in the receiver apply the given predicate and if it matches then apply the given delivery state and settled value to it. More...
 
IReceiver Settle (Predicate< IIncomingDelivery > filter)
 For each unsettled outgoing delivery that is pending in the receiver apply the given predicate and if it matches then settle the delivery. More...
 
IReceiver DeliveryReadHandler (Action< IIncomingDelivery > handler)
 Handler for incoming deliveries that is called for each incoming transfer frame that comprises either one complete delivery or a chunk of a split framed transfer. The handler should check that the delivery being read is partial or not and act accordingly, as partial deliveries expect additional updates as more frames comprising that delivery arrive or the remote aborts the transfer. More...
 
IReceiver DeliveryAbortedHandler (Action< IIncomingDelivery > handler)
 Handler for aborted deliveries that is called for each aborted in-progress delivery. This handler is an optional convenience handler that supplements the standard delivery read event handler in cases where the users wishes to break out the processing of inbound delivery data from abort processing. If this handler is not set the receiver will call the registered delivery read handler if one is set. More...
 
IReceiver DeliveryStateUpdatedHandler (Action< IIncomingDelivery > handler)
 Handler for updates to the remote state of incoming deliveries that have previously been received. Remote state updates for an previously received delivery can happen when the remote settles a complete delivery or otherwise modifies the delivery outcome and the user needs to act on those changes such as a spontaneous update to the delivery state. More...
 

Properties

IDeliveryState DefaultDeliveryState [get, set]
 Configures a default DeliveryState to be used if a received delivery is settled/freed without any disposition state having been previously applied. More...
 
IReadOnlyCollection< IIncomingDeliveryUnsettled [get]
 Retrieves the list of unsettled deliveries sent from this receiver. The deliveries in the enumerator cannot be written to but can have their settled state and disposition updated. Only when this receiver settles on its end are the outgoing delivery instances removed from the unsettled tracking. More...
 
bool HasUnsettled [get]
 Returns true if the receiver link is tracking any unsettled sent deliveries. More...
 

Detailed Description

AMQP Receiver link resource.

Member Function Documentation

◆ AddCredit()

IReceiver Apache.Qpid.Proton.Engine.IReceiver.AddCredit ( uint  amount)

Adds the given amount of credit to the receiver's already existing credit if any.

Parameters
amountThe amount of credit to add to the existing credit
Returns
This receiver instance

Implemented in Apache.Qpid.Proton.Engine.Implementation.ProtonReceiver.

◆ DeliveryAbortedHandler()

IReceiver Apache.Qpid.Proton.Engine.IReceiver.DeliveryAbortedHandler ( Action< IIncomingDelivery handler)

Handler for aborted deliveries that is called for each aborted in-progress delivery. This handler is an optional convenience handler that supplements the standard delivery read event handler in cases where the users wishes to break out the processing of inbound delivery data from abort processing. If this handler is not set the receiver will call the registered delivery read handler if one is set.

Parameters
handlerA delegate that will handle this event
Returns
This receiver instance

Implemented in Apache.Qpid.Proton.Engine.Implementation.ProtonReceiver.

◆ DeliveryReadHandler()

IReceiver Apache.Qpid.Proton.Engine.IReceiver.DeliveryReadHandler ( Action< IIncomingDelivery handler)

Handler for incoming deliveries that is called for each incoming transfer frame that comprises either one complete delivery or a chunk of a split framed transfer. The handler should check that the delivery being read is partial or not and act accordingly, as partial deliveries expect additional updates as more frames comprising that delivery arrive or the remote aborts the transfer.

Parameters
handlerA delegate that will handle this event
Returns
This receiver instance

Implemented in Apache.Qpid.Proton.Engine.Implementation.ProtonReceiver.

◆ DeliveryStateUpdatedHandler()

IReceiver Apache.Qpid.Proton.Engine.IReceiver.DeliveryStateUpdatedHandler ( Action< IIncomingDelivery handler)

Handler for updates to the remote state of incoming deliveries that have previously been received. Remote state updates for an previously received delivery can happen when the remote settles a complete delivery or otherwise modifies the delivery outcome and the user needs to act on those changes such as a spontaneous update to the delivery state.

Parameters
handlerA delegate that will handle this event
Returns
This receiver instance

Implemented in Apache.Qpid.Proton.Engine.Implementation.ProtonReceiver.

◆ Disposition()

IReceiver Apache.Qpid.Proton.Engine.IReceiver.Disposition ( Predicate< IIncomingDelivery filter,
IDeliveryState  state,
bool  settle 
)

For each unsettled outgoing delivery that is pending in the receiver apply the given predicate and if it matches then apply the given delivery state and settled value to it.

Parameters
filterThe filter predicate that controls when disposition is applied
stateThe delivery state to apply when the predicate matches
settleShould the delivery be settled when the predicate matches.
Returns
This receiver instance

Implemented in Apache.Qpid.Proton.Engine.Implementation.ProtonReceiver.

◆ Drain() [1/2]

bool Apache.Qpid.Proton.Engine.IReceiver.Drain ( )

Initiate a drain of all remaining credit of this link, the remote sender will then either send enough deliveries to fulfill the drain request or report that it cannot and all remaining link credit will be consumed.

Returns
True if a drain request was started or false if no credit exists
Exceptions
InvalidOperationExceptionIf a drain is already in progress

Implemented in Apache.Qpid.Proton.Engine.Implementation.ProtonReceiver.

◆ Drain() [2/2]

bool Apache.Qpid.Proton.Engine.IReceiver.Drain ( uint  credit)

Initiate a drain of the given credit from this this receiver} link. If the credit given is greater than the current link credit the current credit is increased, however if the amount of credit given is less that the current amount of link credit an exception is thrown.

Parameters
creditThe amount of credit to drain
Returns
True if a drain request was started or false if no credit exists
Exceptions
InvalidOperationExceptionIf a drain is already in progress

Implemented in Apache.Qpid.Proton.Engine.Implementation.ProtonReceiver.

◆ Settle()

IReceiver Apache.Qpid.Proton.Engine.IReceiver.Settle ( Predicate< IIncomingDelivery filter)

For each unsettled outgoing delivery that is pending in the receiver apply the given predicate and if it matches then settle the delivery.

Parameters
filter
Returns
This receiver instance

Implemented in Apache.Qpid.Proton.Engine.Implementation.ProtonReceiver.

Property Documentation

◆ DefaultDeliveryState

IDeliveryState Apache.Qpid.Proton.Engine.IReceiver.DefaultDeliveryState
getset

Configures a default DeliveryState to be used if a received delivery is settled/freed without any disposition state having been previously applied.

◆ HasUnsettled

bool Apache.Qpid.Proton.Engine.IReceiver.HasUnsettled
get

Returns true if the receiver link is tracking any unsettled sent deliveries.

◆ Unsettled

IReadOnlyCollection<IIncomingDelivery> Apache.Qpid.Proton.Engine.IReceiver.Unsettled
get

Retrieves the list of unsettled deliveries sent from this receiver. The deliveries in the enumerator cannot be written to but can have their settled state and disposition updated. Only when this receiver settles on its end are the outgoing delivery instances removed from the unsettled tracking.


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