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

A single AMQP stream sender instance which can be used to transmit large message payloads to the remote without needing to load the full message contents into memory. The streaming sender will also provide flow control that attempts to provide additional safety values for out of memory situations. More...

Inheritance diagram for Apache.Qpid.Proton.Client.IStreamSender:
Apache.Qpid.Proton.Client.ILink< IStreamSender > Apache.Qpid.Proton.Client.Implementation.ClientStreamSender

Public Member Functions

IStreamTracker Send< T > (IMessage< T > message, IDictionary< string, object > deliveryAnnotations=null)
 If no streaming send has been initiated and not yet completed then this method will 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.
 
Task< IStreamTrackerSendAsync< T > (IMessage< T > message, IDictionary< string, object > deliveryAnnotations=null)
 If no streaming send has been initiated and not yet completed then this method will 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.
 
IStreamTracker TrySend< T > (IMessage< T > message, IDictionary< string, object > deliveryAnnotations=null)
 If no streaming send has been initiated and not yet completed then this method will 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< IStreamTrackerTrySendAsync< T > (IMessage< T > message, IDictionary< string, object > deliveryAnnotations=null)
 If no streaming send has been initiated and not yet completed then this method will 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.
 
IStreamSenderMessage BeginMessage (IDictionary< string, object > deliveryAnnotations=null)
 Creates and returns a new stream capable message that can be used by the caller to perform streaming sends of large message payload data. Only one streamed message can be active at a time so any successive calls to begin a new streaming message will throw an error to indicate that the previous instance has not yet been completed.
 
Task< IStreamSenderMessageBeginMessageAsync (IDictionary< string, object > deliveryAnnotations=null)
 Creates and returns a new stream capable message that can be used by the caller to perform streaming sends of large message payload data. Only one streamed message can be active at a time so any successive calls to begin a new streaming message will throw an error to indicate that the previous instance has not yet been completed.
 

Additional Inherited Members

Detailed Description

A single AMQP stream sender instance which can be used to transmit large message payloads to the remote without needing to load the full message contents into memory. The streaming sender will also provide flow control that attempts to provide additional safety values for out of memory situations.

Member Function Documentation

◆ BeginMessage()

IStreamSenderMessage Apache.Qpid.Proton.Client.IStreamSender.BeginMessage ( IDictionary< string, object >  deliveryAnnotations = null)

Creates and returns a new stream capable message that can be used by the caller to perform streaming sends of large message payload data. Only one streamed message can be active at a time so any successive calls to begin a new streaming message will throw an error to indicate that the previous instance has not yet been completed.

Parameters
deliveryAnnotationsThe optional delivery annotations to transmit with the message
Returns
A new IStreamSenderMessage if no send is currently in progress

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamSender.

◆ BeginMessageAsync()

Task< IStreamSenderMessage > Apache.Qpid.Proton.Client.IStreamSender.BeginMessageAsync ( IDictionary< string, object >  deliveryAnnotations = null)

Creates and returns a new stream capable message that can be used by the caller to perform streaming sends of large message payload data. Only one streamed message can be active at a time so any successive calls to begin a new streaming message will throw an error to indicate that the previous instance has not yet been completed.

Parameters
deliveryAnnotationsThe optional delivery annotations to transmit with the message
Returns
A Task that returns new IStreamSenderMessage if no send is currently in progress

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamSender.

◆ Send< T >()

IStreamTracker Apache.Qpid.Proton.Client.IStreamSender.Send< T > ( IMessage< T >  message,
IDictionary< string, object >  deliveryAnnotations = null 
)

If no streaming send has been initiated and not yet completed then this method will 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.

Template Parameters
TThe type that describes the message body
Parameters
messageThe message object that will be sent
deliveryAnnotationsOptional delivery annotation to include with the message
Returns
A Tracker for the sent message

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamSender.

◆ SendAsync< T >()

Task< IStreamTracker > Apache.Qpid.Proton.Client.IStreamSender.SendAsync< T > ( IMessage< T >  message,
IDictionary< string, object >  deliveryAnnotations = null 
)

If no streaming send has been initiated and not yet completed then this method will 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.

Template Parameters
TThe type that describes the message body
Parameters
messageThe message object that will be sent
deliveryAnnotationsOptional delivery annotation to include with the message
Returns
A Task that is completed with a Tracker once the send completes

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamSender.

◆ TrySend< T >()

IStreamTracker Apache.Qpid.Proton.Client.IStreamSender.TrySend< T > ( IMessage< T >  message,
IDictionary< string, object >  deliveryAnnotations = null 
)

If no streaming send has been initiated and not yet completed then this method will 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.

Template Parameters
TThe type that describes the message body
Parameters
messageThe message object that will be sent
deliveryAnnotationsOptional delivery annotation to include with the message
Returns
A Tracker for the sent message or null if no credit to send is available

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamSender.

◆ TrySendAsync< T >()

Task< IStreamTracker > Apache.Qpid.Proton.Client.IStreamSender.TrySendAsync< T > ( IMessage< T >  message,
IDictionary< string, object >  deliveryAnnotations = null 
)

If no streaming send has been initiated and not yet completed then this method will 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.

Template Parameters
TThe type that describes the message body
Parameters
messageThe message object that will be sent
deliveryAnnotationsOptional delivery annotation to include with the message
Returns
A Task that provides a tracker if the send completes or null if no credit

Implemented in Apache.Qpid.Proton.Client.Implementation.ClientStreamSender.


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