Package org.apache.qpid.protonj2.client
Class StreamReceiverOptions
java.lang.Object
org.apache.qpid.protonj2.client.LinkOptions<StreamReceiverOptions>
org.apache.qpid.protonj2.client.StreamReceiverOptions
- All Implemented Interfaces:
Cloneable
public final class StreamReceiverOptions
extends LinkOptions<StreamReceiverOptions>
implements Cloneable
Options class that controls various aspects of a
StreamReceiver
instance and how
a streamed message transfer is written.-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
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
ConstructorDescriptionCreates aStreamReceiverOptions
instance with default values for all optionsCreate aStreamReceiverOptions
instance that copies all configuration from the givenStreamReceiverOptions
instance. -
Method Summary
Modifier and TypeMethodDescriptionboolean
autoAccept
(boolean autoAccept) Controls if the created Receiver will automatically accept the deliveries that have been received by the application (default istrue
).clone()
protected StreamReceiverOptions
copyInto
(StreamReceiverOptions other) Copy all options from thisStreamReceiverOptions
instance into the instance provided.int
creditWindow
(int creditWindow) A credit window value that will be used to maintain an window of credit for Receiver instances that are created.long
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.drainTimeout
(long timeout, 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.int
readBufferSize
(int readBufferSize) Sets the incoming buffer capacity (in bytes) that theStreamReceiver
.protected StreamReceiverOptions
self()
Methods inherited from class org.apache.qpid.protonj2.client.LinkOptions
autoSettle, autoSettle, closeTimeout, closeTimeout, closeTimeout, copyInto, deliveryMode, deliveryMode, desiredCapabilities, desiredCapabilities, linkName, linkName, offeredCapabilities, offeredCapabilities, openTimeout, openTimeout, openTimeout, properties, properties, requestTimeout, requestTimeout, requestTimeout, sourceOptions, targetOptions
-
Field Details
-
DEFAULT_READ_BUFFER_SIZE
public static final int DEFAULT_READ_BUFFER_SIZEDefines 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:
-
-
Constructor Details
-
StreamReceiverOptions
public StreamReceiverOptions()Creates aStreamReceiverOptions
instance with default values for all options -
StreamReceiverOptions
Create aStreamReceiverOptions
instance that copies all configuration from the givenStreamReceiverOptions
instance.- Parameters:
options
- The options instance to copy all configuration values from.
-
-
Method Details
-
clone
-
copyInto
Copy all options from thisStreamReceiverOptions
instance into the instance provided.- Parameters:
other
- the target of this copy operation.- Returns:
- the
StreamReceiverOptions
instance that was given.
-
readBufferSize
public int readBufferSize()- Returns:
- the configured session capacity for the parent session of the
StreamReceiver
.
-
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
Controls if the created Receiver will automatically accept the deliveries that have been received by the application (default istrue
).- Parameters:
autoAccept
- The value to assign for auto delivery acceptance.- Returns:
- this
StreamReceiverOptions
instance.
-
autoAccept
public boolean autoAccept()- Returns:
- the current value of the
Receiver
auto accept setting.
-
creditWindow
public int creditWindow()- Returns:
- the credit window configuration that will be applied to created
Receiver
instances.
-
creditWindow
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.- Parameters:
creditWindow
- The assigned credit window value to use.- Returns:
- this
StreamReceiverOptions
instance.
-
drainTimeout
public long drainTimeout()- Returns:
- the configured drain timeout value that will use to fail a pending drain request.
-
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.- Parameters:
drainTimeout
- the drainTimeout to use for receiver links.- Returns:
- this
StreamReceiverOptions
instance.
-
drainTimeout
Sets the drain timeout value after which aReceiver
request to drain link credit is considered failed and the request will be marked as such.- Parameters:
timeout
- Timeout value to wait for a remote response.units
- TheTimeUnit
that defines the timeout span.- Returns:
- this
StreamReceiverOptions
instance.
-
self
- Specified by:
self
in classLinkOptions<StreamReceiverOptions>
- Returns:
- the true derived type instance for use in this class.
-