Package org.xnio

# Class Options

java.lang.Object
org.xnio.Options

public final class Options extends Object
Common channel options.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final Option<Boolean>`
`ALLOW_BLOCKING`
Enable or disable blocking I/O for a newly created channel thread.
`static final Option<Integer>`
`BACKLOG`
Configure a server with the specified backlog.
`static final Option<Integer>`
`BALANCING_CONNECTIONS`
The number of connections to create per connection-balancing token, if connection-balancing is enabled.
`static final Option<Integer>`
`BALANCING_TOKENS`
The number of balancing tokens, if connection-balancing is enabled.
`static final Option<Boolean>`
`BROADCAST`
Enable broadcast support for IP datagram sockets.
`static final Option<Boolean>`
`CLOSE_ABORT`
Configure a TCP socket to send an `RST` packet on close.
`static final Option<Integer>`
`COMPRESSION_LEVEL`
The compression level to apply for compressing streams and channels.
`static final Option<CompressionType>`
`COMPRESSION_TYPE`
The compression type to apply for compressing streams and channels.
`static final Option<Integer>`
`CONNECTION_HIGH_WATER`
The high water mark for a server's connections.
`static final Option<Integer>`
`CONNECTION_LOW_WATER`
The low water mark for a server's connections.
`static final Option<Boolean>`
`CORK`
Specify that output should be buffered.
`static final Option<FileAccess>`
`FILE_ACCESS`
The file access mode to use when opening a file.
`static final Option<Boolean>`
`FILE_APPEND`
A flag which indicates that opened files should be appended to.
`static final Option<Boolean>`
`FILE_CREATE`
A flag which indicates that a file should be created if it does not exist (`true` by default for writing files, `false` by default for reading files).
`static final Option<Integer>`
`IP_TRAFFIC_CLASS`
Set the IP traffic class/type-of-service for the channel.
`static final Option<Boolean>`
`KEEP_ALIVE`
Configure a channel to send TCP keep-alive messages in an implementation-dependent manner.
`static final Option<Integer>`
`MAX_INBOUND_MESSAGE_SIZE`
The maximum inbound message size.
`static final Option<Integer>`
`MAX_OUTBOUND_MESSAGE_SIZE`
The maximum outbound message size.
`static final Option<Boolean>`
`MULTICAST`
Enable multicast support for a socket.
`static final Option<Integer>`
`MULTICAST_TTL`
Set the multicast time-to-live field for datagram sockets.
`static final Option<Integer>`
`READ_TIMEOUT`
Configure a read timeout for a socket, in milliseconds.
`static final Option<Integer>`
`RECEIVE_BUFFER`
The receive buffer size.
`static final Option<Boolean>`
`REUSE_ADDRESSES`
Configure an IP socket to reuse addresses.
`static final Option<Sequence<String>>`
`SASL_DISALLOWED_MECHANISMS`
A list of disallowed SASL mechanisms.
`static final Option<Sequence<String>>`
`SASL_MECHANISMS`
A list of SASL mechanisms, in decreasing order of preference.
`static final Option<Boolean>`
`SASL_POLICY_FORWARD_SECRECY`
Specify whether SASL mechanisms which implement forward secrecy between sessions are required.
`static final Option<Boolean>`
`SASL_POLICY_NOACTIVE`
Specify whether SASL mechanisms which are susceptible to active (non-dictionary) attacks are permitted.
`static final Option<Boolean>`
`SASL_POLICY_NOANONYMOUS`
Specify whether SASL mechanisms which accept anonymous logins are permitted.
`static final Option<Boolean>`
`SASL_POLICY_NODICTIONARY`
Specify whether SASL mechanisms which are susceptible to passive dictionary attacks are permitted.
`static final Option<Boolean>`
`SASL_POLICY_NOPLAINTEXT`
Specify whether SASL mechanisms which are susceptible to simple plain passive attacks are permitted.
`static final Option<Boolean>`
`SASL_POLICY_PASS_CREDENTIALS`
Specify whether SASL mechanisms which pass client credentials are required.
`static final Option<Sequence<Property>>`
`SASL_PROPERTIES`
A list of provider specific SASL properties.
`static final Option<Sequence<SaslQop>>`
`SASL_QOP`
Specify the SASL quality-of-protection to use.
`static final Option<Boolean>`
`SASL_REUSE`
Specify whether SASL mechanisms should attempt to reuse authenticated session information.
`static final Option<Boolean>`
`SASL_SERVER_AUTH`
Specify whether the SASL server must authenticate to the client.
`static final Option<SaslStrength>`
`SASL_STRENGTH`
Specify the SASL cipher strength to use.
`static final Option<Boolean>`
`SECURE`
Determine whether the channel is encrypted, or employs some other level of security.
`static final Option<Integer>`
`SEND_BUFFER`
The send buffer size.
`static final Option<Boolean>`
`SPLIT_READ_WRITE_THREADS`
Specify whether read and write operations should be split among separate threads.
`static final Option<Integer>`
`SSL_APPLICATION_BUFFER_REGION_SIZE`
The size of the allocation region to use for SSL application buffers.
`static final Option<Integer>`
`SSL_APPLICATION_BUFFER_SIZE`
The application buffer size for SSL.
`static final Option<SslClientAuthMode>`
`SSL_CLIENT_AUTH_MODE`
Specify the SSL client authentication mode.
`static final Option<Integer>`
`SSL_CLIENT_SESSION_CACHE_SIZE`
The size of the SSL client session cache.
`static final Option<Integer>`
`SSL_CLIENT_SESSION_TIMEOUT`
The SSL client session timeout (in seconds).
`static final Option<Boolean>`
`SSL_ENABLE_SESSION_CREATION`
Enable or disable session creation for an SSL connection.
`static final Option<Boolean>`
`SSL_ENABLED`
Specify whether SSL should be enabled.
`static final Option<Sequence<String>>`
`SSL_ENABLED_CIPHER_SUITES`
Specify the cipher suites for an SSL/TLS session.
`static final Option<Sequence<String>>`
`SSL_ENABLED_PROTOCOLS`
Specify the enabled protocols for an SSL/TLS session.
`static final Option<Sequence<Class<? extends KeyManager>>>`
`SSL_JSSE_KEY_MANAGER_CLASSES`
The possible key manager classes to use for a JSSE SSL context.
`static final Option<Sequence<Class<? extends TrustManager>>>`
`SSL_JSSE_TRUST_MANAGER_CLASSES`
The possible trust store classes to use for a JSSE SSL context.
`static final Option<Boolean>`
`SSL_NON_BLOCKING_KEY_MANAGER`
Hint to the SSL engine that the key manager implementation(s) is/are non-blocking, so they can be executed in the I/O thread, possibly improving performance by decreasing latency.
`static final Option<Boolean>`
`SSL_NON_BLOCKING_TRUST_MANAGER`
Hint to the SSL engine that the trust manager implementation(s) is/are non-blocking, so they can be executed in the I/O thread, possibly improving performance by decreasing latency.
`static final Option<Integer>`
`SSL_PACKET_BUFFER_REGION_SIZE`
The size of the allocation region to use for SSL packet buffers.
`static final Option<Integer>`
`SSL_PACKET_BUFFER_SIZE`
The packet buffer size for SSL.
`static final Option<String>`
`SSL_PEER_HOST_NAME`
Specify the (non-authoritative) name of the peer host to use for the purposes of session reuse, as well as for the use of certain cipher suites (such as Kerberos).
`static final Option<Integer>`
`SSL_PEER_PORT`
Specify the (non-authoritative) port number of the peer port number to use for the purposes of session reuse, as well as for the use of certain cipher suites.
`static final Option<String>`
`SSL_PROTOCOL`
Specify the protocol name for an SSL context.
`static final Option<String>`
`SSL_PROVIDER`
Specify the requested provider for an SSL/TLS session.
`static final Option<OptionMap>`
`SSL_RNG_OPTIONS`
The configuration of a secure RNG for SSL usage.
`static final Option<Integer>`
`SSL_SERVER_SESSION_CACHE_SIZE`
The size of the SSL server session cache.
`static final Option<Integer>`
`SSL_SERVER_SESSION_TIMEOUT`
The SSL server session timeout (in seconds).
`static final Option<Boolean>`
`SSL_STARTTLS`
Specify whether to use STARTTLS mode (in which a connection starts clear and switches to TLS on demand).
`static final Option<Sequence<String>>`
`SSL_SUPPORTED_CIPHER_SUITES`
Get the supported cipher suites for an SSL/TLS session.
`static final Option<Sequence<String>>`
`SSL_SUPPORTED_PROTOCOLS`
Get the supported protocols for an SSL/TLS session.
`static final Option<Boolean>`
`SSL_USE_CLIENT_MODE`
Specify whether SSL conversations should be in client or server mode.
`static final Option<Long>`
`STACK_SIZE`
The stack size (in bytes) to attempt to use for worker threads.
`static final Option<Boolean>`
`TCP_NODELAY`
Configure a TCP socket to disable Nagle's algorithm.
`static final Option<Boolean>`
`TCP_OOB_INLINE`
Configure a TCP socket to receive out-of-band data alongside regular data.
`static final Option<Boolean>`
`THREAD_DAEMON`
Specify whether worker threads should be daemon threads.
`static final Option<Integer>`
`THREAD_PRIORITY`
The thread priority for newly created worker threads.
`static final Option<Boolean>`
`USE_DIRECT_BUFFERS`
Specify whether direct buffers should be used for socket communications.
`static final Option<Integer>`
`WATCHER_POLL_INTERVAL`
The poll interval for poll based file system watchers.
`static final Option<Integer>`
`WORKER_ACCEPT_THREADS`
Deprecated.
This option is now ignored.
`static final Option<Boolean>`
`WORKER_ESTABLISH_WRITING`
Specify whether a server, acceptor, or connector should be attached to write threads.
`static final Option<Integer>`
`WORKER_IO_THREADS`
Specify the number of I/O threads to create for the worker.
`static final Option<String>`
`WORKER_NAME`
The name to use for a newly created worker.
`static final Option<Integer>`
`WORKER_READ_THREADS`
Specify the number of I/O threads to devote to reading for split thread channels.
`static final Option<Integer>`
`WORKER_TASK_CORE_THREADS`
Specify the number of "core" threads for the worker task thread pool.
`static final Option<Integer>`
`WORKER_TASK_KEEPALIVE`
Specify the number of milliseconds to keep non-core task threads alive.
`static final Option<Integer>`
`WORKER_TASK_LIMIT`
Specify the maximum number of worker tasks to allow before rejecting.
`static final Option<Integer>`
`WORKER_TASK_MAX_THREADS`
Specify the maximum number of threads for the worker task thread pool.
`static final Option<Integer>`
`WORKER_WRITE_THREADS`
Specify the number of I/O threads to devote to writing for split thread channels.
`static final Option<Integer>`
`WRITE_TIMEOUT`
Configure a write timeout for a socket, in milliseconds.

## Method Summary

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### ALLOW_BLOCKING

public static final Option<Boolean> ALLOW_BLOCKING
Enable or disable blocking I/O for a newly created channel thread.

### MULTICAST

public static final Option<Boolean> MULTICAST
Enable multicast support for a socket. The value type for this option is `boolean`. Note that some implementations may add overhead when multicast sockets are in use.

### BROADCAST

public static final Option<Boolean> BROADCAST
Enable broadcast support for IP datagram sockets. The value type for this option is `boolean`. If you intend to send datagrams to a broadcast address, this option must be enabled.

### CLOSE_ABORT

public static final Option<Boolean> CLOSE_ABORT
Configure a TCP socket to send an `RST` packet on close. The value type for this option is `boolean`.

### RECEIVE_BUFFER

public static final Option<Integer> RECEIVE_BUFFER
The receive buffer size. The value type for this option is `int`. This may be used by an XNIO provider directly, or it may be passed to the underlying operating system, depending on the channel type. Buffer sizes must always be greater than 0. Note that this value is just a hint; if the application needs to know what value was actually stored for this option, it must call `getOption(Options.RECEIVE_BUFFER)` on the channel to verify. On most operating systems, the receive buffer size may not be changed on a socket after it is connected; in these cases, calling `setOption(Options.RECEIVE_BUFFER, val)` will return `null`.

### REUSE_ADDRESSES

public static final Option<Boolean> REUSE_ADDRESSES
Configure an IP socket to reuse addresses. The value type for this option is `boolean`.

### SEND_BUFFER

public static final Option<Integer> SEND_BUFFER
The send buffer size. The value type for this option is `int`. This may be used by an XNIO provider directly, or it may be passed to the underlying operating system, depending on the channel type. Buffer sizes must always be greater than 0. Note that this value is just a hint; if the application needs to know what value was actually stored for this option, it must call `getOption(Options.SEND_BUFFER)` on the channel to verify.

### TCP_NODELAY

public static final Option<Boolean> TCP_NODELAY
Configure a TCP socket to disable Nagle's algorithm. The value type for this option is `boolean`.

### MULTICAST_TTL

public static final Option<Integer> MULTICAST_TTL
Set the multicast time-to-live field for datagram sockets. The value type for this option is `int`.

### IP_TRAFFIC_CLASS

public static final Option<Integer> IP_TRAFFIC_CLASS
Set the IP traffic class/type-of-service for the channel. The value type for this option is `int`.

### TCP_OOB_INLINE

public static final Option<Boolean> TCP_OOB_INLINE
Configure a TCP socket to receive out-of-band data alongside regular data. The value type for this option is `boolean`.

### KEEP_ALIVE

public static final Option<Boolean> KEEP_ALIVE
Configure a channel to send TCP keep-alive messages in an implementation-dependent manner. The value type for this option is `boolean`.

### BACKLOG

public static final Option<Integer> BACKLOG
Configure a server with the specified backlog. The value type for this option is `int`.

### READ_TIMEOUT

public static final Option<Integer> READ_TIMEOUT
Configure a read timeout for a socket, in milliseconds. If the given amount of time elapses without a successful read taking place, the socket's next read will throw a `ReadTimeoutException`.

### WRITE_TIMEOUT

public static final Option<Integer> WRITE_TIMEOUT
Configure a write timeout for a socket, in milliseconds. If the given amount of time elapses without a successful write taking place, the socket's next write will throw a `WriteTimeoutException`.

### MAX_INBOUND_MESSAGE_SIZE

public static final Option<Integer> MAX_INBOUND_MESSAGE_SIZE
The maximum inbound message size.

Since:
  2.0

### MAX_OUTBOUND_MESSAGE_SIZE

public static final Option<Integer> MAX_OUTBOUND_MESSAGE_SIZE
The maximum outbound message size.

Since:
  2.0

### SSL_ENABLED

public static final Option<Boolean> SSL_ENABLED
Specify whether SSL should be enabled. If specified in conjunction with `SSL_STARTTLS` then SSL will not be negotiated until `SslChannel.startHandshake()` or `SslConnection.startHandshake()` is called.

Since:
  3.0

### SSL_CLIENT_AUTH_MODE

public static final Option<SslClientAuthMode> SSL_CLIENT_AUTH_MODE
Specify the SSL client authentication mode.

Since:
  2.0

### SSL_ENABLED_CIPHER_SUITES

public static final Option<Sequence<String>> SSL_ENABLED_CIPHER_SUITES
Specify the cipher suites for an SSL/TLS session. If a listed cipher suites is not supported, it is ignored; however, if you specify a list of cipher suites, none of which are supported, an exception will be thrown.

Since:
  2.0

### SSL_SUPPORTED_CIPHER_SUITES

public static final Option<Sequence<String>> SSL_SUPPORTED_CIPHER_SUITES
Get the supported cipher suites for an SSL/TLS session. This option is generally read-only.

Since:
  2.0

### SSL_ENABLED_PROTOCOLS

public static final Option<Sequence<String>> SSL_ENABLED_PROTOCOLS
Specify the enabled protocols for an SSL/TLS session. If a listed protocol is not supported, it is ignored; however, if you specify a list of protocols, none of which are supported, an exception will be thrown.

Since:
  2.0

### SSL_SUPPORTED_PROTOCOLS

public static final Option<Sequence<String>> SSL_SUPPORTED_PROTOCOLS
Get the supported protocols for an SSL/TLS session. This option is generally read-only.

Since:
  2.0

### SSL_PROVIDER

public static final Option<String> SSL_PROVIDER
Specify the requested provider for an SSL/TLS session.

Since:
  2.0

### SSL_PROTOCOL

public static final Option<String> SSL_PROTOCOL
Specify the protocol name for an SSL context.

Since:
  2.1

### SSL_ENABLE_SESSION_CREATION

public static final Option<Boolean> SSL_ENABLE_SESSION_CREATION
Enable or disable session creation for an SSL connection. Defaults to `true` to enable session creation.

Since:
  2.0

### SSL_USE_CLIENT_MODE

public static final Option<Boolean> SSL_USE_CLIENT_MODE
Specify whether SSL conversations should be in client or server mode. Defaults to `false` (use server mode). If set to `true`, the client and server side swap negotiation roles.

Since:
  2.0

### SSL_CLIENT_SESSION_CACHE_SIZE

public static final Option<Integer> SSL_CLIENT_SESSION_CACHE_SIZE
The size of the SSL client session cache.

Since:
  3.0

### SSL_CLIENT_SESSION_TIMEOUT

public static final Option<Integer> SSL_CLIENT_SESSION_TIMEOUT
The SSL client session timeout (in seconds).

Since:
  3.0

### SSL_SERVER_SESSION_CACHE_SIZE

public static final Option<Integer> SSL_SERVER_SESSION_CACHE_SIZE
The size of the SSL server session cache.

Since:
  3.0

### SSL_SERVER_SESSION_TIMEOUT

public static final Option<Integer> SSL_SERVER_SESSION_TIMEOUT
The SSL server session timeout (in seconds).

Since:
  3.0

### SSL_JSSE_KEY_MANAGER_CLASSES

public static final Option<Sequence<Class<? extends KeyManager>>> SSL_JSSE_KEY_MANAGER_CLASSES
The possible key manager classes to use for a JSSE SSL context.

Since:
  3.0

### SSL_JSSE_TRUST_MANAGER_CLASSES

public static final Option<Sequence<Class<? extends TrustManager>>> SSL_JSSE_TRUST_MANAGER_CLASSES
The possible trust store classes to use for a JSSE SSL context.

Since:
  3.0

### SSL_RNG_OPTIONS

public static final Option<OptionMap> SSL_RNG_OPTIONS
The configuration of a secure RNG for SSL usage.

Since:
  3.0

### SSL_PACKET_BUFFER_SIZE

public static final Option<Integer> SSL_PACKET_BUFFER_SIZE
The packet buffer size for SSL.

Since:
  3.0

### SSL_APPLICATION_BUFFER_SIZE

public static final Option<Integer> SSL_APPLICATION_BUFFER_SIZE
The application buffer size for SSL.

Since:
  3.0

### SSL_PACKET_BUFFER_REGION_SIZE

public static final Option<Integer> SSL_PACKET_BUFFER_REGION_SIZE
The size of the allocation region to use for SSL packet buffers.

Since:
  3.0

### SSL_APPLICATION_BUFFER_REGION_SIZE

public static final Option<Integer> SSL_APPLICATION_BUFFER_REGION_SIZE
The size of the allocation region to use for SSL application buffers.

Since:
  3.0

### SSL_STARTTLS

public static final Option<Boolean> SSL_STARTTLS
Specify whether to use STARTTLS mode (in which a connection starts clear and switches to TLS on demand).

Since:
  3.0

### SSL_PEER_HOST_NAME

public static final Option<String> SSL_PEER_HOST_NAME
Specify the (non-authoritative) name of the peer host to use for the purposes of session reuse, as well as for the use of certain cipher suites (such as Kerberos). If not given, defaults to the host name of the socket address of the peer.

### SSL_PEER_PORT

public static final Option<Integer> SSL_PEER_PORT
Specify the (non-authoritative) port number of the peer port number to use for the purposes of session reuse, as well as for the use of certain cipher suites. If not given, defaults to the port number of the socket address of the peer.

### SSL_NON_BLOCKING_KEY_MANAGER

public static final Option<Boolean> SSL_NON_BLOCKING_KEY_MANAGER
Hint to the SSL engine that the key manager implementation(s) is/are non-blocking, so they can be executed in the I/O thread, possibly improving performance by decreasing latency.

### SSL_NON_BLOCKING_TRUST_MANAGER

public static final Option<Boolean> SSL_NON_BLOCKING_TRUST_MANAGER
Hint to the SSL engine that the trust manager implementation(s) is/are non-blocking, so they can be executed in the I/O thread, possibly improving performance by decreasing latency.

### USE_DIRECT_BUFFERS

public static final Option<Boolean> USE_DIRECT_BUFFERS
Specify whether direct buffers should be used for socket communications.

Since:
  3.0

### SECURE

public static final Option<Boolean> SECURE
Determine whether the channel is encrypted, or employs some other level of security. The interpretation of this flag is specific to the channel in question; however, whatever the channel type, this flag is generally read-only.

### SASL_POLICY_FORWARD_SECRECY

public static final Option<Boolean> SASL_POLICY_FORWARD_SECRECY
Specify whether SASL mechanisms which implement forward secrecy between sessions are required.

See Also:
  - `Sasl.POLICY_FORWARD_SECRECY`

### SASL_POLICY_NOACTIVE

public static final Option<Boolean> SASL_POLICY_NOACTIVE
Specify whether SASL mechanisms which are susceptible to active (non-dictionary) attacks are permitted.

See Also:
  - `Sasl.POLICY_NOACTIVE`

### SASL_POLICY_NOANONYMOUS

public static final Option<Boolean> SASL_POLICY_NOANONYMOUS
Specify whether SASL mechanisms which accept anonymous logins are permitted.

See Also:
  - `Sasl.POLICY_NOANONYMOUS`

### SASL_POLICY_NODICTIONARY

public static final Option<Boolean> SASL_POLICY_NODICTIONARY
Specify whether SASL mechanisms which are susceptible to passive dictionary attacks are permitted.

See Also:
  - `Sasl.POLICY_NODICTIONARY`

### SASL_POLICY_NOPLAINTEXT

public static final Option<Boolean> SASL_POLICY_NOPLAINTEXT
Specify whether SASL mechanisms which are susceptible to simple plain passive attacks are permitted.

See Also:
  - `Sasl.POLICY_NOPLAINTEXT`

### SASL_POLICY_PASS_CREDENTIALS

public static final Option<Boolean> SASL_POLICY_PASS_CREDENTIALS
Specify whether SASL mechanisms which pass client credentials are required.

See Also:
  - `Sasl.POLICY_PASS_CREDENTIALS`

### SASL_QOP

public static final Option<Sequence<SaslQop>> SASL_QOP
Specify the SASL quality-of-protection to use.

See Also:
  - `Sasl.QOP`

### SASL_STRENGTH

public static final Option<SaslStrength> SASL_STRENGTH
Specify the SASL cipher strength to use.

See Also:
  - `Sasl.STRENGTH`

### SASL_SERVER_AUTH

public static final Option<Boolean> SASL_SERVER_AUTH
Specify whether the SASL server must authenticate to the client.

See Also:
  - `Sasl.SERVER_AUTH`

### SASL_REUSE

public static final Option<Boolean> SASL_REUSE
Specify whether SASL mechanisms should attempt to reuse authenticated session information.

See Also:
  - `Sasl.REUSE`

### SASL_MECHANISMS

public static final Option<Sequence<String>> SASL_MECHANISMS
A list of SASL mechanisms, in decreasing order of preference.

### SASL_DISALLOWED_MECHANISMS

public static final Option<Sequence<String>> SASL_DISALLOWED_MECHANISMS
A list of disallowed SASL mechanisms.

### SASL_PROPERTIES

public static final Option<Sequence<Property>> SASL_PROPERTIES
A list of provider specific SASL properties.

### FILE_ACCESS

public static final Option<FileAccess> FILE_ACCESS
The file access mode to use when opening a file.

### FILE_APPEND

public static final Option<Boolean> FILE_APPEND
A flag which indicates that opened files should be appended to. Some platforms do not support both append and `FileAccess.READ_WRITE` at the same time.

### FILE_CREATE

public static final Option<Boolean> FILE_CREATE
A flag which indicates that a file should be created if it does not exist (`true` by default for writing files, `false` by default for reading files).

### STACK_SIZE

public static final Option<Long> STACK_SIZE
The stack size (in bytes) to attempt to use for worker threads.

### WORKER_NAME

public static final Option<String> WORKER_NAME
The name to use for a newly created worker. If not specified, the string "XNIO" will be used. The worker name is used as a part of the thread name for created threads, and for any management constructs.

### THREAD_PRIORITY

public static final Option<Integer> THREAD_PRIORITY
The thread priority for newly created worker threads. If not specified, the platform default value will be used.

### THREAD_DAEMON

public static final Option<Boolean> THREAD_DAEMON
Specify whether worker threads should be daemon threads. Defaults to `false`.

### WORKER_IO_THREADS

public static final Option<Integer> WORKER_IO_THREADS
Specify the number of I/O threads to create for the worker. If not specified, a default will be chosen.

### WORKER_READ_THREADS

public static final Option<Integer> WORKER_READ_THREADS
Specify the number of I/O threads to devote to reading for split thread channels. If not specified, a default will be chosen to be roughly half of the worker I/O threads, or the number of threads not specified for writing.

### WORKER_WRITE_THREADS

public static final Option<Integer> WORKER_WRITE_THREADS
Specify the number of I/O threads to devote to writing for split thread channels. If not specified, a default will be chosen to be roughly half of the worker I/O threads, or the number of threads not specified for reading.

### SPLIT_READ_WRITE_THREADS

public static final Option<Boolean> SPLIT_READ_WRITE_THREADS
Specify whether read and write operations should be split among separate threads. If `true`, then each directional channel may be accessed concurrently with respect to one another, and will have different worker threads assigned; otherwise, both directions will share a worker thread and must not be accessed independently.

### WORKER_ESTABLISH_WRITING

public static final Option<Boolean> WORKER_ESTABLISH_WRITING
Specify whether a server, acceptor, or connector should be attached to write threads. By default, the establishing phase of connections are attached to read threads. Use this option if the client or server writes a message directly upon connect and a split threads configuration is used.

### WORKER_ACCEPT_THREADS

@Deprecated public static final Option<Integer> WORKER_ACCEPT_THREADS
Deprecated.
This option is now ignored. All I/O threads are used for accept, except in the case of split read/write threads, in which case only read or write threads will be used as determined by `WORKER_ESTABLISH_WRITING`.
Specify the number of accept threads a single socket server should have. Specifying more than one can result in spurious wakeups for a socket server under low connection volume, but higher throughput at high connection volume. The minimum value is 1, and the maximum value is equal to the number of available worker threads.

### WORKER_TASK_CORE_THREADS

public static final Option<Integer> WORKER_TASK_CORE_THREADS
Specify the number of "core" threads for the worker task thread pool.

### WORKER_TASK_MAX_THREADS

public static final Option<Integer> WORKER_TASK_MAX_THREADS
Specify the maximum number of threads for the worker task thread pool.

### WORKER_TASK_KEEPALIVE

public static final Option<Integer> WORKER_TASK_KEEPALIVE
Specify the number of milliseconds to keep non-core task threads alive.

### WORKER_TASK_LIMIT

public static final Option<Integer> WORKER_TASK_LIMIT
Specify the maximum number of worker tasks to allow before rejecting.

### CORK

public static final Option<Boolean> CORK
Specify that output should be buffered. The exact behavior of the buffering is not specified; it may flush based on buffered size or time. An explicit `SuspendableWriteChannel.flush()` will still cause the channel to flush its contents immediately.

### CONNECTION_HIGH_WATER

public static final Option<Integer> CONNECTION_HIGH_WATER
The high water mark for a server's connections. Once this number of connections have been accepted, accepts will be suspended for that server.

### CONNECTION_LOW_WATER

public static final Option<Integer> CONNECTION_LOW_WATER
The low water mark for a server's connections. Once the number of active connections have dropped below this number, accepts can be resumed for that server.

### COMPRESSION_LEVEL

public static final Option<Integer> COMPRESSION_LEVEL
The compression level to apply for compressing streams and channels.

### COMPRESSION_TYPE

public static final Option<CompressionType> COMPRESSION_TYPE
The compression type to apply for compressing streams and channels.

### BALANCING_TOKENS

public static final Option<Integer> BALANCING_TOKENS
The number of balancing tokens, if connection-balancing is enabled. Must be less than the number of I/O threads, or 0 to disable balancing and just accept opportunistically.

### BALANCING_CONNECTIONS

public static final Option<Integer> BALANCING_CONNECTIONS
The number of connections to create per connection-balancing token, if connection-balancing is enabled.

### WATCHER_POLL_INTERVAL

public static final Option<Integer> WATCHER_POLL_INTERVAL
The poll interval for poll based file system watchers. Defaults to 5000ms. Ignored on Java 7 and later.