XNIO API 3.1.0.Beta1

org.xnio
Class Options

java.lang.Object
  extended by org.xnio.Options

public final class Options
extends Object

Common channel options.


Field Summary
static Option<Boolean> ALLOW_BLOCKING
          Enable or disable blocking I/O for a newly created channel thread.
static Option<Integer> BACKLOG
          Configure a server with the specified backlog.
static Option<Boolean> BROADCAST
          Enable broadcast support for IP datagram sockets.
static Option<Boolean> CLOSE_ABORT
          Configure a TCP socket to send an RST packet on close.
static Option<Integer> CONNECTION_HIGH_WATER
          The high water mark for a server's connections.
static Option<Integer> CONNECTION_LOW_WATER
          The low water mark for a server's connections.
static Option<Boolean> CORK
          Specify that output should be buffered.
static Option<FileAccess> FILE_ACCESS
          The file access mode to use when opening a file.
static Option<Integer> IP_TRAFFIC_CLASS
          Set the IP traffic class/type-of-service for the channel.
static Option<Boolean> KEEP_ALIVE
          Configure a channel to send a periodic heartbeat of some sort.
static Option<Integer> MAX_INBOUND_MESSAGE_SIZE
          The maximum inbound message size.
static Option<Integer> MAX_OUTBOUND_MESSAGE_SIZE
          The maximum outbound message size.
static Option<Boolean> MULTICAST
          Enable multicast support for a socket.
static Option<Integer> MULTICAST_TTL
          Set the multicast time-to-live field for datagram sockets.
static Option<Integer> READ_TIMEOUT
          Configure a read timeout for a socket, in milliseconds.
static Option<Integer> RECEIVE_BUFFER
          The receive buffer size.
static Option<Boolean> REUSE_ADDRESSES
          Configure an IP socket to reuse addresses.
static Option<Sequence<String>> SASL_DISALLOWED_MECHANISMS
          A list of disallowed SASL mechanisms.
static Option<Sequence<String>> SASL_MECHANISMS
          A list of SASL mechanisms, in decreasing order of preference.
static Option<Boolean> SASL_POLICY_FORWARD_SECRECY
          Specify whether SASL mechanisms which implement forward secrecy between sessions are required.
static Option<Boolean> SASL_POLICY_NOACTIVE
          Specify whether SASL mechanisms which are susceptible to active (non-dictionary) attacks are permitted.
static Option<Boolean> SASL_POLICY_NOANONYMOUS
          Specify whether SASL mechanisms which accept anonymous logins are permitted.
static Option<Boolean> SASL_POLICY_NODICTIONARY
          Specify whether SASL mechanisms which are susceptible to passive dictionary attacks are permitted.
static Option<Boolean> SASL_POLICY_NOPLAINTEXT
          Specify whether SASL mechanisms which are susceptible to simple plain passive attacks are permitted.
static Option<Boolean> SASL_POLICY_PASS_CREDENTIALS
          Specify whether SASL mechanisms which pass client credentials are required.
static Option<Sequence<Property>> SASL_PROPERTIES
          A list of provider specific SASL properties.
static Option<Sequence<SaslQop>> SASL_QOP
          Specify the SASL quality-of-protection to use.
static Option<Boolean> SASL_REUSE
          Specify whether SASL mechanisms should attempt to reuse authenticated session information.
static Option<Boolean> SASL_SERVER_AUTH
          Specify whether the SASL server must authenticate to the client.
static Option<SaslStrength> SASL_STRENGTH
          Specify the SASL cipher strength to use.
static Option<Boolean> SECURE
          Determine whether the channel is encrypted, or employs some other level of security.
static Option<Integer> SEND_BUFFER
          The send buffer size.
static Option<Integer> SSL_APPLICATION_BUFFER_REGION_SIZE
          The size of the allocation region to use for SSL application buffers.
static Option<Integer> SSL_APPLICATION_BUFFER_SIZE
          The application buffer size for SSL.
static Option<SslClientAuthMode> SSL_CLIENT_AUTH_MODE
          Specify the SSL client authentication mode.
static Option<Integer> SSL_CLIENT_SESSION_CACHE_SIZE
          The size of the SSL client session cache.
static Option<Integer> SSL_CLIENT_SESSION_TIMEOUT
          The SSL client session timeout (in seconds).
static Option<Boolean> SSL_ENABLE_SESSION_CREATION
          Enable or disable session creation for an SSL connection.
static Option<Boolean> SSL_ENABLED
          Specify whether SSL should be enabled.
static Option<Sequence<String>> SSL_ENABLED_CIPHER_SUITES
          Specify the cipher suites for an SSL/TLS session.
static Option<Sequence<String>> SSL_ENABLED_PROTOCOLS
          Specify the enabled protocols for an SSL/TLS session.
static Option<Sequence<Class<? extends KeyManager>>> SSL_JSSE_KEY_MANAGER_CLASSES
          The possible key manager classes to use for a JSSE SSL context.
static Option<Sequence<Class<? extends TrustManager>>> SSL_JSSE_TRUST_MANAGER_CLASSES
          The possible trust store classes to use for a JSSE SSL context.
static Option<Integer> SSL_PACKET_BUFFER_REGION_SIZE
          The size of the allocation region to use for SSL packet buffers.
static Option<Integer> SSL_PACKET_BUFFER_SIZE
          The packet buffer size for SSL.
static 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 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 Option<String> SSL_PROTOCOL
          Specify the protocol name for an SSL context.
static Option<String> SSL_PROVIDER
          Specify the requested provider for an SSL/TLS session.
static Option<OptionMap> SSL_RNG_OPTIONS
          The configuration of a secure RNG for SSL usage.
static Option<Integer> SSL_SERVER_SESSION_CACHE_SIZE
          The size of the SSL server session cache.
static Option<Integer> SSL_SERVER_SESSION_TIMEOUT
          The SSL server session timeout (in seconds).
static Option<Boolean> SSL_STARTTLS
          Specify whether to use STARTTLS mode (in which a connection starts clear and switches to TLS on demand).
static Option<Sequence<String>> SSL_SUPPORTED_CIPHER_SUITES
          Get the supported cipher suites for an SSL/TLS session.
static Option<Sequence<String>> SSL_SUPPORTED_PROTOCOLS
          Get the supported protocols for an SSL/TLS session.
static Option<Boolean> SSL_USE_CLIENT_MODE
          Specify whether SSL conversations should be in client or server mode.
static Option<Long> STACK_SIZE
          The stack size (in bytes) to attempt to use for worker threads.
static Option<Boolean> TCP_NODELAY
          Configure a TCP socket to disable Nagle's algorithm.
static Option<Boolean> TCP_OOB_INLINE
          Configure a TCP socket to receive out-of-band data alongside regular data.
static Option<Boolean> THREAD_DAEMON
          Specify whether worker threads should be daemon threads.
static Option<Integer> THREAD_PRIORITY
          The thread priority for newly created worker threads.
static Option<Boolean> USE_DIRECT_BUFFERS
          Specify whether direct buffers should be used for socket communications.
static Option<Integer> WORKER_ACCEPT_THREADS
          Specify the number of accept threads a single socket server should have.
static Option<Boolean> WORKER_ESTABLISH_WRITING
          Specify whether a server, acceptor, or connector should be attached to write threads.
static Option<String> WORKER_NAME
          The name to use for a newly created worker.
static Option<Integer> WORKER_READ_THREADS
          Specify the number of read threads to create for the worker.
static Option<Integer> WORKER_TASK_CORE_THREADS
          Specify the number of "core" threads for the worker task thread pool.
static Option<Integer> WORKER_TASK_KEEPALIVE
          Specify the number of milliseconds to keep non-core task threads alive.
static Option<Integer> WORKER_TASK_LIMIT
          Specify the maximum number of worker tasks to allow before rejecting.
static Option<Integer> WORKER_TASK_MAX_THREADS
          Specify the maximum number of threads for the worker task thread pool.
static Option<Integer> WORKER_WRITE_THREADS
          Specify the number of write threads to create for the worker.
static 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 Detail

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.


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.


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 a periodic heartbeat of some sort. 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() 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.


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.


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_READ_THREADS

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


WORKER_WRITE_THREADS

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


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.


WORKER_ACCEPT_THREADS

public static final Option<Integer> WORKER_ACCEPT_THREADS
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.


XNIO API 3.1.0.Beta1

Copyright © 2010 JBoss, a division of Red Hat, Inc.