Package org.apache.qpid.protonj2.client
Class StreamReceiverOptions
- java.lang.Object
-
- org.apache.qpid.protonj2.client.ReceiverOptions
-
- org.apache.qpid.protonj2.client.StreamReceiverOptions
-
public class StreamReceiverOptions extends ReceiverOptions
Options class that controls various aspects of aStreamReceiver
instance and how a streamed message transfer is written.
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_READ_BUFFER_SIZE
Defines the default read buffering size which is used to control how much incoming data can be buffered before the remote has back pressured applied to avoid out of memory conditions.
-
Constructor Summary
Constructors Constructor Description StreamReceiverOptions()
Creates aStreamReceiverOptions
instance with default values for all optionsStreamReceiverOptions(StreamReceiverOptions options)
Create aStreamReceiverOptions
instance that copies all configuration from the givenStreamReceiverOptions
instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StreamReceiverOptions
autoAccept(boolean autoAccept)
Controls if the created Receiver will automatically accept the deliveries that have been received by the application (default istrue
).StreamReceiverOptions
autoSettle(boolean autoSettle)
Controls if the created Receiver will automatically settle the deliveries that have been received by the application (default istrue
).StreamReceiverOptions
clone()
StreamReceiverOptions
closeTimeout(long closeTimeout)
Configures the timeout used when awaiting a response from the remote that a request to close theReceiver
link.StreamReceiverOptions
closeTimeout(long timeout, java.util.concurrent.TimeUnit units)
Configures the timeout used when awaiting a response from the remote that a request to close theReceiver
link.protected StreamReceiverOptions
copyInto(ReceiverOptions other)
Copy all options from thisReceiverOptions
instance into the instance provided.protected StreamReceiverOptions
copyInto(StreamReceiverOptions other)
Copy all options from thisStreamReceiverOptions
instance into the instance provided.StreamReceiverOptions
creditWindow(int creditWindow)
A credit window value that will be used to maintain an window of credit for Receiver instances that are created.StreamReceiverOptions
deliveryMode(DeliveryMode deliveryMode)
Sets theDeliveryMode
value to assign to newly createdReceiver
instances.StreamReceiverOptions
desiredCapabilities(java.lang.String... desiredCapabilities)
StreamReceiverOptions
drainTimeout(long drainTimeout)
Sets the drain timeout (in milliseconds) after which aReceiver
request to drain link credit is considered failed and the request will be marked as such.StreamReceiverOptions
drainTimeout(long timeout, java.util.concurrent.TimeUnit units)
Sets the drain timeout value after which aReceiver
request to drain link credit is considered failed and the request will be marked as such.StreamReceiverOptions
linkName(java.lang.String linkName)
Configures the link name to use when creating a givenReceiver
instance.StreamReceiverOptions
offeredCapabilities(java.lang.String... offeredCapabilities)
StreamReceiverOptions
openTimeout(long openTimeout)
Configures the timeout used when awaiting a response from the remote that a request to open aReceiver
has been honored.StreamReceiverOptions
openTimeout(long timeout, java.util.concurrent.TimeUnit units)
Configures the timeout used when awaiting a response from the remote that a request to open aReceiver
has been honored.StreamReceiverOptions
properties(java.util.Map<java.lang.String,java.lang.Object> properties)
int
readBufferSize()
StreamReceiverOptions
readBufferSize(int readBufferSize)
Sets the incoming buffer capacity (in bytes) that theStreamReceiver
.StreamReceiverOptions
requestTimeout(long requestTimeout)
Configures the timeout used when awaiting a response from the remote that a request to perform some action such as starting a new transaction.StreamReceiverOptions
requestTimeout(long timeout, java.util.concurrent.TimeUnit units)
Configures the timeout used when awaiting a response from the remote that a request to perform some action such as starting a new transaction.-
Methods inherited from class org.apache.qpid.protonj2.client.ReceiverOptions
autoAccept, autoSettle, closeTimeout, creditWindow, deliveryMode, desiredCapabilities, drainTimeout, linkName, offeredCapabilities, openTimeout, properties, requestTimeout, sourceOptions, targetOptions
-
-
-
-
Field Detail
-
DEFAULT_READ_BUFFER_SIZE
public static final int DEFAULT_READ_BUFFER_SIZE
Defines the default read buffering size which is used to control how much incoming data can be buffered before the remote has back pressured applied to avoid out of memory conditions.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
StreamReceiverOptions
public StreamReceiverOptions()
Creates aStreamReceiverOptions
instance with default values for all options
-
StreamReceiverOptions
public StreamReceiverOptions(StreamReceiverOptions options)
Create aStreamReceiverOptions
instance that copies all configuration from the givenStreamReceiverOptions
instance.- Parameters:
options
- The options instance to copy all configuration values from.
-
-
Method Detail
-
clone
public StreamReceiverOptions clone()
- Overrides:
clone
in classReceiverOptions
-
copyInto
protected StreamReceiverOptions copyInto(StreamReceiverOptions other)
Copy all options from thisStreamReceiverOptions
instance into the instance provided.- Parameters:
other
- the target of this copy operation.- Returns:
- this
StreamReceiverOptions
class for chaining.
-
readBufferSize
public int readBufferSize()
- Returns:
- the configured session capacity for the parent session of the
StreamReceiver
.
-
readBufferSize
public StreamReceiverOptions readBufferSize(int readBufferSize)
Sets the incoming buffer capacity (in bytes) that theStreamReceiver
.When the remote peer is sending incoming data for a
StreamReceiverMessage
the amount that is stored in memory before back pressure is applied to the remote is controlled by this option. If the user does not read incoming data as it arrives this limit can prevent out of memory errors that might otherwise arise as the remote attempts to immediately send all contents of very large message payloads.- Parameters:
readBufferSize
- The number of bytes that theStreamReceiver
will buffer for a givenStreamReceiverMessage
.- Returns:
- this
StreamReceiverOptions
instance.
-
autoAccept
public StreamReceiverOptions autoAccept(boolean autoAccept)
Description copied from class:ReceiverOptions
Controls if the created Receiver will automatically accept the deliveries that have been received by the application (default istrue
).- Overrides:
autoAccept
in classReceiverOptions
- Parameters:
autoAccept
- The value to assign for auto delivery acceptance.- Returns:
- this
ReceiverOptions
instance.
-
autoSettle
public StreamReceiverOptions autoSettle(boolean autoSettle)
Description copied from class:ReceiverOptions
Controls if the created Receiver will automatically settle the deliveries that have been received by the application (default istrue
).- Overrides:
autoSettle
in classReceiverOptions
- Parameters:
autoSettle
- The value to assign for auto delivery settlement.- Returns:
- this
ReceiverOptions
instance.
-
deliveryMode
public StreamReceiverOptions deliveryMode(DeliveryMode deliveryMode)
Description copied from class:ReceiverOptions
Sets theDeliveryMode
value to assign to newly createdReceiver
instances.- Overrides:
deliveryMode
in classReceiverOptions
- Parameters:
deliveryMode
- The delivery mode value to configure.- Returns:
- this
ReceiverOptions
instance.
-
linkName
public StreamReceiverOptions linkName(java.lang.String linkName)
Description copied from class:ReceiverOptions
Configures the link name to use when creating a givenReceiver
instance.- Overrides:
linkName
in classReceiverOptions
- Parameters:
linkName
- The assigned link name to use when creating aReceiver
.- Returns:
- this
ReceiverOptions
instance.
-
creditWindow
public StreamReceiverOptions creditWindow(int creditWindow)
Description copied from class:ReceiverOptions
A credit window value that will be used to maintain an window of credit for Receiver instances that are created. TheReceiver
will allow up to the credit window amount of incoming deliveries to be queued and as they are read from theReceiver
the window will be extended to maintain a consistent backlog of deliveries. The default is to configure a credit window of 10.To disable credit windowing and allow the client application to control the credit on the
Receiver
link the credit window value should be set to zero.- Overrides:
creditWindow
in classReceiverOptions
- Parameters:
creditWindow
- The assigned credit window value to use.- Returns:
- this
ReceiverOptions
instance.
-
closeTimeout
public StreamReceiverOptions closeTimeout(long closeTimeout)
Description copied from class:ReceiverOptions
Configures the timeout used when awaiting a response from the remote that a request to close theReceiver
link.- Overrides:
closeTimeout
in classReceiverOptions
- Parameters:
closeTimeout
- Timeout value in milliseconds to wait for a remote response.- Returns:
- this
ReceiverOptions
instance.
-
closeTimeout
public StreamReceiverOptions closeTimeout(long timeout, java.util.concurrent.TimeUnit units)
Description copied from class:ReceiverOptions
Configures the timeout used when awaiting a response from the remote that a request to close theReceiver
link.- Overrides:
closeTimeout
in classReceiverOptions
- Parameters:
timeout
- Timeout value to wait for a remote response.units
- TheTimeUnit
that defines the timeout span.- Returns:
- this
ReceiverOptions
instance.
-
openTimeout
public StreamReceiverOptions openTimeout(long openTimeout)
Description copied from class:ReceiverOptions
Configures the timeout used when awaiting a response from the remote that a request to open aReceiver
has been honored.- Overrides:
openTimeout
in classReceiverOptions
- Parameters:
openTimeout
- Timeout value in milliseconds to wait for a remote response.- Returns:
- this
ReceiverOptions
instance.
-
openTimeout
public StreamReceiverOptions openTimeout(long timeout, java.util.concurrent.TimeUnit units)
Description copied from class:ReceiverOptions
Configures the timeout used when awaiting a response from the remote that a request to open aReceiver
has been honored.- Overrides:
openTimeout
in classReceiverOptions
- Parameters:
timeout
- Timeout value to wait for a remote response.units
- TheTimeUnit
that defines the timeout span.- Returns:
- this
ReceiverOptions
instance.
-
drainTimeout
public StreamReceiverOptions drainTimeout(long drainTimeout)
Description copied from class:ReceiverOptions
Sets the drain timeout (in milliseconds) after which aReceiver
request to drain link credit is considered failed and the request will be marked as such.- Overrides:
drainTimeout
in classReceiverOptions
- Parameters:
drainTimeout
- the drainTimeout to use for receiver links.- Returns:
- this
ReceiverOptions
instance.
-
drainTimeout
public StreamReceiverOptions drainTimeout(long timeout, java.util.concurrent.TimeUnit units)
Description copied from class:ReceiverOptions
Sets the drain timeout value after which aReceiver
request to drain link credit is considered failed and the request will be marked as such.- Overrides:
drainTimeout
in classReceiverOptions
- Parameters:
timeout
- Timeout value to wait for a remote response.units
- TheTimeUnit
that defines the timeout span.- Returns:
- this
ReceiverOptions
instance.
-
requestTimeout
public StreamReceiverOptions requestTimeout(long requestTimeout)
Description copied from class:ReceiverOptions
Configures the timeout used when awaiting a response from the remote that a request to perform some action such as starting a new transaction. If the remote does not respond within the configured timeout the resource making the request will mark it as failed and return an error to the request initiator usually in the form of aClientOperationTimedOutException
.- Overrides:
requestTimeout
in classReceiverOptions
- Parameters:
requestTimeout
- Timeout value in milliseconds to wait for a remote response.- Returns:
- this
ReceiverOptions
instance.
-
requestTimeout
public StreamReceiverOptions requestTimeout(long timeout, java.util.concurrent.TimeUnit units)
Description copied from class:ReceiverOptions
Configures the timeout used when awaiting a response from the remote that a request to perform some action such as starting a new transaction. If the remote does not respond within the configured timeout the resource making the request will mark it as failed and return an error to the request initiator usually in the form of aClientOperationTimedOutException
.- Overrides:
requestTimeout
in classReceiverOptions
- Parameters:
timeout
- Timeout value to wait for a remote response.units
- TheTimeUnit
that defines the timeout span.- Returns:
- this
ReceiverOptions
instance.
-
offeredCapabilities
public StreamReceiverOptions offeredCapabilities(java.lang.String... offeredCapabilities)
- Overrides:
offeredCapabilities
in classReceiverOptions
- Parameters:
offeredCapabilities
- the offeredCapabilities to set- Returns:
- this
ReceiverOptions
instance.
-
desiredCapabilities
public StreamReceiverOptions desiredCapabilities(java.lang.String... desiredCapabilities)
- Overrides:
desiredCapabilities
in classReceiverOptions
- Parameters:
desiredCapabilities
- the desiredCapabilities to set- Returns:
- this
ReceiverOptions
instance.
-
properties
public StreamReceiverOptions properties(java.util.Map<java.lang.String,java.lang.Object> properties)
- Overrides:
properties
in classReceiverOptions
- Parameters:
properties
- the properties to set- Returns:
- this
ReceiverOptions
instance.
-
copyInto
protected StreamReceiverOptions copyInto(ReceiverOptions other)
Description copied from class:ReceiverOptions
Copy all options from thisReceiverOptions
instance into the instance provided.- Overrides:
copyInto
in classReceiverOptions
- Parameters:
other
- the target of this copy operation.- Returns:
- this options class for chaining.
-
-