Class ListenerLink
The listener link provides non-blocking methods that can be used by brokers/listener applications.
Inherited Members
Namespace: Amqp.Listener
Assembly: Amqp.Net.dll
Syntax
public class ListenerLink : Link, ILink, IAmqpObject
Constructors
ListenerLink(ListenerSession, Attach)
Initializes a listener link object.
Declaration
public ListenerLink(ListenerSession session, Attach attach)
Parameters
| Type | Name | Description |
|---|---|---|
| ListenerSession | session | The session. |
| Attach | attach | The received attach frame. |
Properties
Role
Gets the sender (false) or receiver (true) role of the link.
Declaration
public bool Role { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
SettleOnSend
Gets the settled flag. If it is true, messages are sent settled.
Declaration
public bool SettleOnSend { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
State
Gets the user state attached to the link when it is initialized.
Declaration
public object State { get; }
Property Value
| Type | Description |
|---|---|
| System.Object |
Methods
CompleteAttach(Attach, Error)
Completes the link attach request. This should be called when the IContainer.AttachLink implementation returns false and the asynchronous processing completes.
Declaration
public void CompleteAttach(Attach attach, Error error)
Parameters
| Type | Name | Description |
|---|---|---|
| Attach | attach | The attach to send back. |
| Error | error | The error, if any, for the link. |
DisposeMessage(Message, DeliveryState, Boolean)
Sends a disposition for the message.
Declaration
public void DisposeMessage(Message message, DeliveryState deliveryState, bool settled)
Parameters
| Type | Name | Description |
|---|---|---|
| Message | message | The message to be disposed (a disposition performative will be sent for this message). |
| DeliveryState | deliveryState | The delivery state to set on disposition. |
| System.Boolean | settled | The settled flag on disposition. |
InitializeReceiver(UInt32, Action<ListenerLink, Message, DeliveryState, Object>, Object)
Initializes the receiver state for the link.
Declaration
public void InitializeReceiver(uint credit, Action<ListenerLink, Message, DeliveryState, object> onMessage, object state)
Parameters
| Type | Name | Description |
|---|---|---|
| System.UInt32 | credit | The link credit to send to the peer. |
| System.Action<ListenerLink, Message, DeliveryState, System.Object> | onMessage | The callback to be invoked for received messages. |
| System.Object | state | The user state attached to the link. |
InitializeSender(Action<Int32, Fields, Object>, Action<Message, DeliveryState, Boolean, Object>, Object)
Initializes the sender state for the link.
Declaration
public void InitializeSender(Action<int, Fields, object> onCredit, Action<Message, DeliveryState, bool, object> onDispose, object state)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Action<System.Int32, Fields, System.Object> | onCredit | The callback to be invoked when delivery limit changes (by received flow performatives). |
| System.Action<Message, DeliveryState, System.Boolean, System.Object> | onDispose | The callback to be invoked when disposition is received. |
| System.Object | state | The user state attached to the link. |
OnAbort(Error)
Aborts the link.
Declaration
protected override void OnAbort(Error error)
Parameters
| Type | Name | Description |
|---|---|---|
| Error | error | The error. |
Overrides
OnClose(Error)
Closes the link.
Declaration
protected override bool OnClose(Error error)
Parameters
| Type | Name | Description |
|---|---|---|
| Error | error | The error |
Returns
| Type | Description |
|---|---|
| System.Boolean |
Overrides
SendMessage(Message)
Sends a message. This call is non-blocking and it does not wait for acknowledgments.
Declaration
public void SendMessage(Message message)
Parameters
| Type | Name | Description |
|---|---|---|
| Message | message |
SendMessage(Message, ByteBuffer)
Sends a message with an optional buffer as the message payload.
Declaration
public void SendMessage(Message message, ByteBuffer buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| Message | message | The message to be sent. |
| ByteBuffer | buffer | The serialized buffer of the message. It is null, the message is serialized. |
SetCredit(Int32, Boolean, Boolean)
Sets a credit on the link. A flow is sent to the peer to update link flow control state.
Declaration
public void SetCredit(int credit, bool drain, bool autoRestore = true)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | credit | The new link credit. |
| System.Boolean | drain | Sets the drain flag in the flow performative. |
| System.Boolean | autoRestore | If true, link credit is auto-restored when a message is accepted/rejected by the caller. If false, caller is responsible for manage link credits. |