Class IOReactorConfig.Builder

  • Enclosing class:
    IOReactorConfig

    public static class IOReactorConfig.Builder
    extends java.lang.Object
    • Field Detail

      • defaultMaxIOThreadCount

        private static int defaultMaxIOThreadCount
      • selectInterval

        private TimeValue selectInterval
      • ioThreadCount

        private int ioThreadCount
      • soTimeout

        private Timeout soTimeout
      • soReuseAddress

        private boolean soReuseAddress
      • soKeepAlive

        private boolean soKeepAlive
      • tcpNoDelay

        private boolean tcpNoDelay
      • trafficClass

        private int trafficClass
      • sndBufSize

        private int sndBufSize
      • rcvBufSize

        private int rcvBufSize
      • backlogSize

        private int backlogSize
      • socksProxyAddress

        private java.net.SocketAddress socksProxyAddress
      • socksProxyUsername

        private java.lang.String socksProxyUsername
      • socksProxyPassword

        private java.lang.String socksProxyPassword
    • Constructor Detail

      • Builder

        Builder()
    • Method Detail

      • getDefaultMaxIOThreadCount

        public static int getDefaultMaxIOThreadCount()
        Gets the default value for ioThreadCount. Returns Runtime.availableProcessors() if setDefaultMaxIOThreadCount(int) was called with a value less <= 0.
        Returns:
        the default value for ioThreadCount.
        Since:
        4.4.10
      • setDefaultMaxIOThreadCount

        public static void setDefaultMaxIOThreadCount​(int defaultMaxIOThreadCount)
        Sets the default value for ioThreadCount. Use a value <= 0 to cause getDefaultMaxIOThreadCount() to return Runtime.availableProcessors().
        Parameters:
        defaultMaxIOThreadCount - the default value for ioThreadCount.
        Since:
        4.4.10
      • setSelectInterval

        public IOReactorConfig.Builder setSelectInterval​(TimeValue selectInterval)
        Determines time interval at which the I/O reactor wakes up to check for timed out sessions and session requests.

        Default: 1000 milliseconds.

      • setIoThreadCount

        public IOReactorConfig.Builder setIoThreadCount​(int ioThreadCount)
        Determines the number of I/O dispatch threads to be used by the I/O reactor.

        Default: 2

      • setSoTimeout

        public IOReactorConfig.Builder setSoTimeout​(int soTimeout,
                                                    java.util.concurrent.TimeUnit timeUnit)
        Determines the default socket timeout value for non-blocking I/O operations.

        Default: 0 (no timeout)

        See Also:
        SocketOptions.SO_TIMEOUT
      • setSoTimeout

        public IOReactorConfig.Builder setSoTimeout​(Timeout soTimeout)
        Determines the default socket timeout value for non-blocking I/O operations.

        Default: 0 (no timeout)

        See Also:
        SocketOptions.SO_TIMEOUT
      • setSoReuseAddress

        public IOReactorConfig.Builder setSoReuseAddress​(boolean soReuseAddress)
        Determines the default value of the SocketOptions.SO_REUSEADDR parameter for newly created sockets.

        Default: false

        See Also:
        SocketOptions.SO_REUSEADDR
      • setSoLinger

        public IOReactorConfig.Builder setSoLinger​(int soLinger,
                                                   java.util.concurrent.TimeUnit timeUnit)
        Determines the default value of the SocketOptions.SO_LINGER parameter for newly created sockets.

        Default: -1

        See Also:
        SocketOptions.SO_LINGER
      • setSoLinger

        public IOReactorConfig.Builder setSoLinger​(TimeValue soLinger)
        Determines the default value of the SocketOptions.SO_LINGER parameter for newly created sockets.

        Default: -1

        See Also:
        SocketOptions.SO_LINGER
      • setSoKeepAlive

        public IOReactorConfig.Builder setSoKeepAlive​(boolean soKeepAlive)
        Determines the default value of the SocketOptions.SO_KEEPALIVE parameter for newly created sockets.

        Default: -1

        See Also:
        SocketOptions.SO_KEEPALIVE
      • setTcpNoDelay

        public IOReactorConfig.Builder setTcpNoDelay​(boolean tcpNoDelay)
        Determines the default value of the SocketOptions.TCP_NODELAY parameter for newly created sockets.

        Default: false

        See Also:
        SocketOptions.TCP_NODELAY
      • setTrafficClass

        public IOReactorConfig.Builder setTrafficClass​(int trafficClass)
        Determines the default value of the SocketOptions.IP_TOS parameter for newly created sockets.

        Default: 0

        Since:
        5.1
        See Also:
        SocketOptions.IP_TOS
      • setSndBufSize

        public IOReactorConfig.Builder setSndBufSize​(int sndBufSize)
        Determines the default value of the SocketOptions.SO_SNDBUF parameter for newly created sockets.

        Default: 0 (system default)

        See Also:
        SocketOptions.SO_SNDBUF
      • setRcvBufSize

        public IOReactorConfig.Builder setRcvBufSize​(int rcvBufSize)
        Determines the default value of the SocketOptions.SO_RCVBUF parameter for newly created sockets.

        Default: 0 (system default)

        See Also:
        SocketOptions.SO_RCVBUF
      • setBacklogSize

        public IOReactorConfig.Builder setBacklogSize​(int backlogSize)
        Determines the default backlog size value for server sockets binds.

        Default: 0 (system default)

        Since:
        4.4
      • setSocksProxyAddress

        public IOReactorConfig.Builder setSocksProxyAddress​(java.net.SocketAddress socksProxyAddress)
        The address of the SOCKS proxy to use.
      • setSocksProxyUsername

        public IOReactorConfig.Builder setSocksProxyUsername​(java.lang.String socksProxyUsername)
        The username to provide to the SOCKS proxy for username/password authentication.
      • setSocksProxyPassword

        public IOReactorConfig.Builder setSocksProxyPassword​(java.lang.String socksProxyPassword)
        The password to provide to the SOCKS proxy for username/password authentication.