Proton DotNet
|
The client connection class manages a single connection to a remote AMQP peer and handles connection errors and reconnection operations if those are enabled. More...
Public Member Functions | |
void | Close (IErrorCondition error=null) |
Initiates a close of the connection and awaits a response from the remote that indicates completion of the close operation. If the response from the remote exceeds the configure close timeout the method returns after cleaning up the connection resources. | |
Task< IConnection > | CloseAsync (IErrorCondition error=null) |
Initiates a close of the connection and a Task that allows the caller to await or poll for the response from the remote that indicates completion of the close operation. If the response from the remote exceeds the configure close timeout the connection will be cleaned up and the Task signalled indicating completion. | |
void | Dispose () |
ISender | DefaultSender () |
Returns the default anonymous sender used by this connection for all send calls from the connection. If the sender has not been created yet this call will initiate its creation and open with the remote peer. | |
Task< ISender > | DefaultSenderAsync () |
Asynchronously returns the default anonymous sender used by this connection for all send calls from the connection. If the sender has not been created yet this call will initiate its creation and open with the remote peer. | |
ISession | DefaultSession () |
Returns the default session instance that is used by this Connection to create the default anonymous connection sender as well as creating those resources created from the connection} such as sender and receiver instances not married to a specific session. | |
Task< ISession > | DefaultSessionAsync () |
Asynchronously returns the default session instance that is used by this Connection to create the default anonymous connection sender as well as creating those resources created from the connection} such as sender and receiver instances not married to a specific session. | |
ISession | OpenSession (SessionOptions options=null) |
Creates a new session instance for use by the client application. The returned session will be configured using the provided session options. | |
Task< ISession > | OpenSessionAsync (SessionOptions options=null) |
Asynchronously creates a new session instance for use by the client application. The returned session will be configured using the provided session options. | |
IReceiver | OpenDurableReceiver (string address, string subscriptionName, ReceiverOptions options=null) |
Creates a receiver used to consume messages from the given node address. The returned receiver will be configured using the provided receiver options. | |
Task< IReceiver > | OpenDurableReceiverAsync (string address, string subscriptionName, ReceiverOptions options=null) |
Asynchronously creates a receiver used to consume messages from the given node address. The returned receiver will be configured using the provided receiver options. | |
IReceiver | OpenDynamicReceiver (ReceiverOptions options=null, IDictionary< string, object > dynamicNodeProperties=null) |
Creates a dynamic receiver used to consume messages from the dynamically generated node on the remote. The returned receiver will be configured using the provided options. | |
Task< IReceiver > | OpenDynamicReceiverAsync (ReceiverOptions options=null, IDictionary< string, object > dynamicNodeProperties=null) |
Asynchronously creates a dynamic receiver used to consume messages from the dynamically generated node on the remote. The returned receiver will be configured using the provided options. | |
IReceiver | OpenReceiver (string address, ReceiverOptions options=null) |
Creates a receiver used to consume messages from the given node address. The returned receiver will be configured using the provided receiver options. | |
Task< IReceiver > | OpenReceiverAsync (string address, ReceiverOptions options=null) |
Asynchronously creates a receiver used to consume messages from the given node address. The returned receiver will be configured using the provided receiver options. | |
ISender | OpenAnonymousSender (SenderOptions options=null) |
Creates a anonymous sender used to send messages to the "anonymous relay" on the remote. Each message sent must include a "to" address for the remote to route the message. The returned sender will be configured using the provided sender options. | |
Task< ISender > | OpenAnonymousSenderAsync (SenderOptions options=null) |
Asynchronously creates a anonymous sender used to send messages to the "anonymous relay" on the remote. Each message sent must include a "to" address for the remote to route the message. The returned sender will be configured using the provided sender options. | |
ISender | OpenSender (string address, SenderOptions options=null) |
Creates a sender used to send messages to the given node address. The returned sender will be configured using configuration options provided. | |
Task< ISender > | OpenSenderAsync (string address, SenderOptions options=null) |
Asynchronously creates a sender used to send messages to the given node address. The returned sender will be configured using configuration options provided. | |
IStreamReceiver | OpenStreamReceiver (string address, StreamReceiverOptions options=null) |
Creates a stream receiver used to consume large messages from the given node address. The returned receiver will be configured using the provided stream receiver options. | |
Task< IStreamReceiver > | OpenStreamReceiverAsync (string address, StreamReceiverOptions options=null) |
Asynchronously creates a stream receiver used to consume large messages from the given node address. The returned receiver will be configured using the provided stream receiver options. | |
IStreamSender | OpenStreamSender (string address, StreamSenderOptions options=null) |
Creates a stream sender used to send large messages to the given node address. The returned sender will be configured using configuration options provided. | |
Task< IStreamSender > | OpenStreamSenderAsync (string address, StreamSenderOptions options=null) |
Asynchronously creates a stream sender used to send large messages to the given node address. The returned sender will be configured using configuration options provided. | |
ITracker | Send< T > (IMessage< T > message) |
Sends the given message using the connection scoped default sender instance. The connection send uses the remote "anonymous relay" to route messages which requires that the sent message have a valid "To" address set and that the remote supports the anonymous relay. | |
Task< ITracker > | SendAsync< T > (IMessage< T > message) |
Asynchronously sends the given message using the connection scoped default sender instance. The connection send uses the remote "anonymous relay" to route messages which requires that the sent message have a valid "To" address set and that the remote supports the anonymous relay. | |
IReceiver | NextReceiver () |
Waits indefinitely for a receiver created from this session to have a delivery ready for receipt. The selection of the next receiver when more than one exists which has pending deliveries is based upon the configured value of the default next receiver policy that was configured in the session options used to create this session, or the connection level policy if none was assigned to the session options. | |
Task< IReceiver > | NextReceiverAsync () |
Returns a task that will complete only after a receiver created from this connection has a delivery ready for receipt. The selection of the next receiver when more than one exists which has pending deliveries is based upon the configured value of the default next receiver policy that was configured in the connection options used to create this connection. | |
IReceiver | NextReceiver (NextReceiverPolicy policy) |
Waits indefinitely for a receiver created from this connection to have a delivery ready for receipt. The selection of the next receiver when more than one exists which has pending deliveries is based upon the value of the next receiver policy that is provided by the caller. | |
Task< IReceiver > | NextReceiverAsync (NextReceiverPolicy policy) |
Returns a task that will complete only after a receiver created from this connection has a delivery ready for receipt. The selection of the next receiver when more than one exists which has pending deliveries is based upon the value of the next receiver policy that is provided by the caller. | |
IReceiver | NextReceiver (TimeSpan timeout) |
Waits up to the given timeout for a receiver created from this connection to have a delivery ready for receipt. The selection of the next receiver when more than one exists which has pending deliveries is based upon the configured value of the default next receiver policy that was configured in the connection options used to create this connection. | |
Task< IReceiver > | NextReceiverAsync (TimeSpan timeout) |
Returns a task that will complete once a receiver created from this connection has a delivery ready for receipt or the given timeout expires. The selection of the next receiver when more than one exists which has pending deliveries is based upon the configured value of the default next receiver policy that was configured in the connection options used to create this connection. | |
IReceiver | NextReceiver (NextReceiverPolicy policy, TimeSpan timeout) |
Waits up to the given timeout for a receiver created from this connection to have a delivery ready for receipt. The selection of the next receiver when more than one exists which has pending deliveries is based upon the value of the next receiver policy that is provided by the caller. | |
Task< IReceiver > | NextReceiverAsync (NextReceiverPolicy policy, TimeSpan timeout) |
Returns a task that will complete once a receiver created from this connection has a delivery ready for receipt or the given timeout expires. The selection of the next receiver when more than one exists which has pending deliveries is based upon the value of the next receiver policy that is provided by the caller. | |
override string | ToString () |
Properties | |
IClient | Client [get] |
Returns the parent client instance that created this connection. | |
Task< IConnection > | OpenTask [get] |
When a connection is created and returned to the client application it may not be remotely opened yet and if the client needs to wait for completion of the open before proceeding the open task can be fetched and waited upon. | |
IReadOnlyDictionary< string, object > | Properties [get] |
Returns the properties that the remote provided upon successfully opening the connection. If the open has not completed yet this method will block to await the open response which carries the remote properties. If the remote provides no properties this method will return null. | |
IReadOnlyCollection< string > | OfferedCapabilities [get] |
Returns the offered capabilities that the remote provided upon successfully opening the connection. If the open has not completed yet this method will block to await the open response which carries the remote offered capabilities. If the remote provides no offered capabilities this method will return null. | |
IReadOnlyCollection< string > | DesiredCapabilities [get] |
Returns the desired capabilities that the remote provided upon successfully opening the connection. If the open has not completed yet this method will block to await the open response which carries the remote desired capabilities. If the remote provides no desired capabilities this method will return null. | |
![]() |
The client connection class manages a single connection to a remote AMQP peer and handles connection errors and reconnection operations if those are enabled.
|
inline |
Initiates a close of the connection and awaits a response from the remote that indicates completion of the close operation. If the response from the remote exceeds the configure close timeout the method returns after cleaning up the connection resources.
error | Optional error condition to convey to the remote |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Initiates a close of the connection and a Task that allows the caller to await or poll for the response from the remote that indicates completion of the close operation. If the response from the remote exceeds the configure close timeout the connection will be cleaned up and the Task signalled indicating completion.
error | Optional error condition to convey to the remote |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Returns the default anonymous sender used by this connection for all send calls from the connection. If the sender has not been created yet this call will initiate its creation and open with the remote peer.
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Asynchronously returns the default anonymous sender used by this connection for all send calls from the connection. If the sender has not been created yet this call will initiate its creation and open with the remote peer.
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Returns the default session instance that is used by this Connection to create the default anonymous connection sender as well as creating those resources created from the connection} such as sender and receiver instances not married to a specific session.
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Asynchronously returns the default session instance that is used by this Connection to create the default anonymous connection sender as well as creating those resources created from the connection} such as sender and receiver instances not married to a specific session.
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Waits indefinitely for a receiver created from this session to have a delivery ready for receipt. The selection of the next receiver when more than one exists which has pending deliveries is based upon the configured value of the default next receiver policy that was configured in the session options used to create this session, or the connection level policy if none was assigned to the session options.
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Waits indefinitely for a receiver created from this connection to have a delivery ready for receipt. The selection of the next receiver when more than one exists which has pending deliveries is based upon the value of the next receiver policy that is provided by the caller.
policy | The next receiver policy to apply when selecting a result |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Waits up to the given timeout for a receiver created from this connection to have a delivery ready for receipt. The selection of the next receiver when more than one exists which has pending deliveries is based upon the value of the next receiver policy that is provided by the caller.
policy | The next receiver policy to apply when selecting a result |
timeout | The time to wait for a receiver to have a pending delivery |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Waits up to the given timeout for a receiver created from this connection to have a delivery ready for receipt. The selection of the next receiver when more than one exists which has pending deliveries is based upon the configured value of the default next receiver policy that was configured in the connection options used to create this connection.
timeout | The time to wait for a receiver to have a pending delivery |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Returns a task that will complete only after a receiver created from this connection has a delivery ready for receipt. The selection of the next receiver when more than one exists which has pending deliveries is based upon the configured value of the default next receiver policy that was configured in the connection options used to create this connection.
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Returns a task that will complete only after a receiver created from this connection has a delivery ready for receipt. The selection of the next receiver when more than one exists which has pending deliveries is based upon the value of the next receiver policy that is provided by the caller.
policy | The next receiver policy to apply when selecting a result |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Returns a task that will complete once a receiver created from this connection has a delivery ready for receipt or the given timeout expires. The selection of the next receiver when more than one exists which has pending deliveries is based upon the value of the next receiver policy that is provided by the caller.
policy | The next receiver policy to apply when selecting a result |
timeout | The time to wait for a receiver to have a pending delivery |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Returns a task that will complete once a receiver created from this connection has a delivery ready for receipt or the given timeout expires. The selection of the next receiver when more than one exists which has pending deliveries is based upon the configured value of the default next receiver policy that was configured in the connection options used to create this connection.
timeout | The time to wait for a receiver to have a pending delivery |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Creates a anonymous sender used to send messages to the "anonymous relay" on the remote. Each message sent must include a "to" address for the remote to route the message. The returned sender will be configured using the provided sender options.
The returned sender may not have been opened on the remote when it is returned. Some methods of the sender can block until the remote fully opens the sender, the user can wait for the remote to respond to the open request by obtaining the open task from the sender and using it to await the completion of the sender open.
options | Optional sender options to use for configuration |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Asynchronously creates a anonymous sender used to send messages to the "anonymous relay" on the remote. Each message sent must include a "to" address for the remote to route the message. The returned sender will be configured using the provided sender options.
The returned sender may not have been opened on the remote when it is returned. Some methods of the sender can block until the remote fully opens the sender, the user can wait for the remote to respond to the open request by obtaining the open task from the sender and using it to await the completion of the sender open.
options | Optional sender options to use for configuration |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Creates a receiver used to consume messages from the given node address. The returned receiver will be configured using the provided receiver options.
The returned receiver may not have been opened on the remote when it is returned. Some methods of the receiver can block until the remote fully opens the receiver, the user can wait for the remote to respond to the open request by obtaining the open task from the receiver and using it to await the completion of the receiver open.
address | The address of the node the receiver attaches to |
subscriptionName | The subscription name to use for the receiver |
options | Optional receiver options to use for configuration |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Asynchronously creates a receiver used to consume messages from the given node address. The returned receiver will be configured using the provided receiver options.
The returned receiver may not have been opened on the remote when it is returned. Some methods of the receiver can block until the remote fully opens the receiver, the user can wait for the remote to respond to the open request by obtaining the open task from the receiver and using it to await the completion of the receiver open.
address | The address of the node the receiver attaches to |
subscriptionName | The subscription name to use for the receiver |
options | Optional receiver options to use for configuration |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Creates a dynamic receiver used to consume messages from the dynamically generated node on the remote. The returned receiver will be configured using the provided options.
The returned receiver may not have been opened on the remote when it is returned. Some methods of the receiver can block until the remote fully opens the receiver, the user can wait for the remote to respond to the open request by obtaining the open task from the receiver and using it to await the completion of the receiver open.
options | Optional receiver options to use for configuration |
dynamicNodeProperties | Optional properties to assign to the node create |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Asynchronously creates a dynamic receiver used to consume messages from the dynamically generated node on the remote. The returned receiver will be configured using the provided options.
The returned receiver may not have been opened on the remote when it is returned. Some methods of the receiver can block until the remote fully opens the receiver, the user can wait for the remote to respond to the open request by obtaining the open task from the receiver and using it to await the completion of the receiver open.
options | Optional receiver options to use for configuration |
dynamicNodeProperties | Optional properties to assign to the node create |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Creates a receiver used to consume messages from the given node address. The returned receiver will be configured using the provided receiver options.
The returned receiver may not have been opened on the remote when it is returned. Some methods of the receiver can block until the remote fully opens the receiver, the user can wait for the remote to respond to the open request by obtaining the open task from the receiver and using it to await the completion of the receiver open.
address | The address of the node the receiver attaches to |
options | Optional receiver options to use for configuration |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Asynchronously creates a receiver used to consume messages from the given node address. The returned receiver will be configured using the provided receiver options.
The returned receiver may not have been opened on the remote when it is returned. Some methods of the receiver can block until the remote fully opens the receiver, the user can wait for the remote to respond to the open request by obtaining the open task from the receiver and using it to await the completion of the receiver open.
address | The address of the node the receiver attaches to |
options | Optional receiver options to use for configuration |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Creates a sender used to send messages to the given node address. The returned sender will be configured using configuration options provided.
The returned sender may not have been opened on the remote when it is returned. Some methods of the sender can block until the remote fully opens the sender, the user can wait for the remote to respond to the open request by obtaining the open task from the sender and using it to await the completion of the sender open.
address | The address of the node the sender attaches to |
options | Optional sender options to use for configuration |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Asynchronously creates a sender used to send messages to the given node address. The returned sender will be configured using configuration options provided.
The returned sender may not have been opened on the remote when it is returned. Some methods of the sender can block until the remote fully opens the sender, the user can wait for the remote to respond to the open request by obtaining the open task from the sender and using it to await the completion of the sender open.
address | The address of the node the sender attaches to |
options | Optional sender options to use for configuration |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Creates a new session instance for use by the client application. The returned session will be configured using the provided session options.
The returned session may not have been opened on the remote when it is returned. Some methods of the session can block until the remote fully opens the session, the user can wait for the remote to respond to the open request by obtaining the open task from the session and using it to await the completion of the session open.
options | Optional session options to use for configuration |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Asynchronously creates a new session instance for use by the client application. The returned session will be configured using the provided session options.
The returned session may not have been opened on the remote when it is returned. Some methods of the session can block until the remote fully opens the session, the user can wait for the remote to respond to the open request by obtaining the open task from the session and using it to await the completion of the session open.
options | Optional session options to use for configuration |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Creates a stream receiver used to consume large messages from the given node address. The returned receiver will be configured using the provided stream receiver options.
The returned receiver may not have been opened on the remote when it is returned. Some methods of the receiver can block until the remote fully opens the receiver, the user can wait for the remote to respond to the open request by obtaining the open task from the receiver and using it to await the completion of the receiver open.
address | The address of the node the receiver attaches to |
options | Optional receiver options to use for configuration |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Asynchronously creates a stream receiver used to consume large messages from the given node address. The returned receiver will be configured using the provided stream receiver options.
The returned receiver may not have been opened on the remote when it is returned. Some methods of the receiver can block until the remote fully opens the receiver, the user can wait for the remote to respond to the open request by obtaining the open task from the receiver and using it to await the completion of the receiver open.
address | The address of the node the receiver attaches to |
options | Optional receiver options to use for configuration |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Creates a stream sender used to send large messages to the given node address. The returned sender will be configured using configuration options provided.
The returned sender may not have been opened on the remote when it is returned. Some methods of the sender can block until the remote fully opens the sender, the user can wait for the remote to respond to the open request by obtaining the open task from the sender and using it to await the completion of the sender open.
address | The address of the node the sender attaches to |
options | Optional stream sender options to use for configuration |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Asynchronously creates a stream sender used to send large messages to the given node address. The returned sender will be configured using configuration options provided.
The returned sender may not have been opened on the remote when it is returned. Some methods of the sender can block until the remote fully opens the sender, the user can wait for the remote to respond to the open request by obtaining the open task from the sender and using it to await the completion of the sender open.
address | The address of the node the sender attaches to |
options | Optional stream sender options to use for configuration |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Sends the given message using the connection scoped default sender instance. The connection send uses the remote "anonymous relay" to route messages which requires that the sent message have a valid "To" address set and that the remote supports the anonymous relay.
T | The type of body the message carries |
message | The message to be sent |
Implements Apache.Qpid.Proton.Client.IConnection.
|
inline |
Asynchronously sends the given message using the connection scoped default sender instance. The connection send uses the remote "anonymous relay" to route messages which requires that the sent message have a valid "To" address set and that the remote supports the anonymous relay.
T | The type of body the message carries |
message | The message to be sent |
Implements Apache.Qpid.Proton.Client.IConnection.
|
get |
Returns the parent client instance that created this connection.
Implements Apache.Qpid.Proton.Client.IConnection.
|
get |
Returns the desired capabilities that the remote provided upon successfully opening the connection. If the open has not completed yet this method will block to await the open response which carries the remote desired capabilities. If the remote provides no desired capabilities this method will return null.
Implements Apache.Qpid.Proton.Client.IConnection.
|
get |
Returns the offered capabilities that the remote provided upon successfully opening the connection. If the open has not completed yet this method will block to await the open response which carries the remote offered capabilities. If the remote provides no offered capabilities this method will return null.
Implements Apache.Qpid.Proton.Client.IConnection.
|
get |
When a connection is created and returned to the client application it may not be remotely opened yet and if the client needs to wait for completion of the open before proceeding the open task can be fetched and waited upon.
Implements Apache.Qpid.Proton.Client.IConnection.
|
get |
Returns the properties that the remote provided upon successfully opening the connection. If the open has not completed yet this method will block to await the open response which carries the remote properties. If the remote provides no properties this method will return null.
Implements Apache.Qpid.Proton.Client.IConnection.