|
ITracker | Send< T > (IMessage< T > message, IDictionary< string, object > deliveryAnnotations=null) |
| Send the given message immediately if there is credit available or blocks if the link has not yet been granted credit. If a send timeout has been configured then this method will throw a timed out error after that if the message cannot be sent.
|
|
ITracker | TrySend< T > (IMessage< T > message, IDictionary< string, object > deliveryAnnotations=null) |
| Send the given message if credit is available or returns null if no credit has been granted to the link at the time of the send attempt.
|
|
Task< ITracker > | SendAsync< T > (IMessage< T > message, IDictionary< string, object > deliveryAnnotations=null) |
| Send the given message immediately if there is credit available or waits if the link has not yet been granted credit. If a send timeout has been configured then this method will fail the returned Task with a timed out error after that if the message cannot be sent. The returned Task will be completed once the message has been sent.
|
|
Task< ITracker > | TrySendAsync< T > (IMessage< T > message, IDictionary< string, object > deliveryAnnotations=null) |
| Send the given message if credit is available or completes the returned Task with null if no credit has been granted to the link at the time of the send attempt.
|
|
void | Close (IErrorCondition error=null) |
|
Task< LinkType > | CloseAsync (IErrorCondition error=null) |
|
void | Detach (IErrorCondition error=null) |
|
Task< LinkType > | DetachAsync (IErrorCondition error=null) |
|
void | Dispose () |
|
void | Close (IErrorCondition error=null) |
| Initiates a close of the link 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 link resources.
|
|
void | Detach (IErrorCondition error=null) |
| Initiates a detach of the link and awaits a response from the remote that indicates completion of the detach operation. If the response from the remote exceeds the configure close timeout the method returns after cleaning up the link resources.
|
|
Task< Role > | CloseAsync (IErrorCondition error=null) |
| Initiates a close of the link 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 sender will be cleaned up and the Task signalled indicating completion.
|
|
Task< Role > | DetachAsync (IErrorCondition error=null) |
| Initiates a detach of the link and a Task that allows the caller to await or poll for the response from the remote that indicates completion of the detach operation. If the response from the remote exceeds the configure close timeout the sender will be cleaned up and the Task signalled indicating completion.
|
|
|
virtual Task< LinkType > | DoCloseOrDetach (bool close, IErrorCondition error) |
|
void | CheckClosedOrFailed () |
|
void | WaitForOpenToComplete () |
|
bool | NotClosedOrFailed< T > (TaskCompletionSource< T > request) |
|
bool | NotClosedOrFailed< T > (TaskCompletionSource< T > request, ProtonLinkType sender) |
|
readonly AtomicBoolean | closed |
|
readonly ClientSession | session |
|
ClientException | failureCause |
|
readonly TaskCompletionSource< LinkType > | openFuture |
|
readonly TaskCompletionSource< LinkType > | closeFuture |
|
volatile ISource | remoteSource |
|
volatile ITarget | remoteTarget |
|
ProtonLinkType | protonLink |
|
IClient | Client [get] |
|
IConnection | Connection [get] |
|
ISession | Session [get] |
|
Task< LinkType > | OpenTask [get] |
|
string | Address [get] |
|
ISource | Source [get] |
|
ITarget | Target [get] |
|
IReadOnlyDictionary< string, object > | Properties [get] |
|
IReadOnlyCollection< string > | OfferedCapabilities [get] |
|
IReadOnlyCollection< string > | DesiredCapabilities [get] |
|
IClient | Client [get] |
| Returns the parent client instance that hosts this link.
|
|
IConnection | Connection [get] |
| Returns the parent connection instance that hosts this link.
|
|
ISession | Session [get] |
| Returns the parent session instance that created this link.
|
|
string | Address [get] |
| Returns the address that the link instance will send message objects to. The value returned from this method is controlled by the configuration that was used to create the link.
-
If the link is configured as an anonymous link then this method returns null.
-
If the link was created with the dynamic link methods then the method will return the dynamically created address once the remote has attached its end of the link link. Due to the need to await the remote peer to populate the dynamic address this method will block until the open of the link link has completed.
-
If neither of the above is true then the address returned is the address passed to the original address value passed to one of the open link methods.
|
|
ISource | Source [get] |
| Returns an immutable view of the remote Source object assigned to this link link. If the attach has not completed yet this method will block to await the attach response which carries the remote source.
|
|
ITarget | Target [get] |
| Returns an immutable view of the remote Target object assigned to this link link. If the attach has not completed yet this method will block to await the attach response which carries the remote target.
|
|
IReadOnlyDictionary< string, object > | Properties [get] |
| Returns the properties that the remote provided upon successfully opening the link. 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 link. 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 link. 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.
|
|
Task< Role > | OpenTask [get] |
| When a link 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.
|
|
Sender implementation that send complete messages on a remote link.