SocketProperties (Apache Tomcat 9.0.37 API Documentation)

org.apache.tomcat.util.net

## Class SocketProperties

- java.lang.Object
- - org.apache.tomcat.util.net.SocketProperties

-     public class SocketProperties
      extends Object

  Properties that can be set in the <Connector> element in server.xml. All properties are prefixed with "socket." and are currently only working for the Nio connector

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected int` | `appReadBufSize` The application read buffer size in bytes.
    `protected int` | `appWriteBufSize` The application write buffer size in bytes Default value is txBufSize
    `protected int` | `bufferPool` NioChannel pool size for the endpoint, this value is how many channels -1 means unlimited cached, 0 means no cache Default value is 500 TODO: The default should be changed in Tomcat 10, actually it should be bufferPoolSize / (appReadBufSize + appWriteBufSize), assuming the SSL buffers are ignored (that would be logical), and the value would be 6400.
    `protected int` | `bufferPoolSize` Buffer pool size in bytes to be cached -1 means unlimited, 0 means no cache Default value is 100MB (1024*1024*100 bytes) TODO: The default value to be used could rather be based on the JVM max heap, otherwise it could be a problem in some environments.
    `protected boolean` | `directBuffer` Enable/disable direct buffers for the network buffers Default value is disabled
    `protected boolean` | `directSslBuffer` Enable/disable direct buffers for the network buffers for SSL Default value is disabled
    `protected int` | `eventCache` Enable/disable poller event cache, this bounded cache stores PollerEvent objects to reduce GC for the poller Default is 500 -1 is unlimited 0 is disabled >0 the max number of objects to keep in cache.
    `protected Boolean` | `ooBInline` OOBINLINE option.
    `protected Integer` | `performanceBandwidth` Performance preferences according to http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int) All three performance attributes must be set or the JVM defaults will be used.
    `protected Integer` | `performanceConnectionTime` Performance preferences according to http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int) All three performance attributes must be set or the JVM defaults will be used.
    `protected Integer` | `performanceLatency` Performance preferences according to http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int) All three performance attributes must be set or the JVM defaults will be used.
    `protected int` | `processorCache` Enable/disable socket processor cache, this bounded cache stores SocketProcessor objects to reduce GC Default is 500 -1 is unlimited 0 is disabled TODO: The default will be changed to 0 in Tomcat 10
    `protected Integer` | `rxBufSize` Socket receive buffer size in bytes (SO_RCVBUF).
    `protected Boolean` | `soKeepAlive` SO_KEEPALIVE option.
    `protected Boolean` | `soLingerOn` SO_LINGER option, paired with the `soLingerTime` value.
    `protected Integer` | `soLingerTime` SO_LINGER option, paired with the `soLingerOn` value.
    `protected Boolean` | `soReuseAddress` SO_REUSEADDR option.
    `protected Integer` | `soTimeout` SO_TIMEOUT option. default is 20000.
    `protected Boolean` | `tcpNoDelay` TCP_NO_DELAY option.
    `protected long` | `timeoutInterval` The minimum frequency of the timeout interval to avoid excess load from the poller during high traffic
    `protected Integer` | `txBufSize` Socket send buffer size in bytes (SO_SNDBUF).
    `protected int` | `unlockTimeout` Timeout in milliseconds for an unlock to take place.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SocketProperties()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getAppReadBufSize()`
    `int` | `getAppWriteBufSize()`
    `int` | `getBufferPool()`
    `int` | `getBufferPoolSize()`
    `boolean` | `getDirectBuffer()`
    `int` | `getDirectBufferPool()`
    `boolean` | `getDirectSslBuffer()`
    `int` | `getEventCache()`
    `boolean` | `getOoBInline()`
    `int` | `getPerformanceBandwidth()`
    `int` | `getPerformanceConnectionTime()`
    `int` | `getPerformanceLatency()`
    `int` | `getProcessorCache()`
    `int` | `getRxBufSize()`
    `boolean` | `getSoKeepAlive()`
    `boolean` | `getSoLingerOn()`
    `int` | `getSoLingerTime()`
    `boolean` | `getSoReuseAddress()`
    `int` | `getSoTimeout()`
    `boolean` | `getTcpNoDelay()`
    `long` | `getTimeoutInterval()`
    `int` | `getTxBufSize()`
    `int` | `getUnlockTimeout()`
    `void` | `setAppReadBufSize(int appReadBufSize)`
    `void` | `setAppWriteBufSize(int appWriteBufSize)`
    `void` | `setBufferPool(int bufferPool)`
    `void` | `setBufferPoolSize(int bufferPoolSize)`
    `void` | `setDirectBuffer(boolean directBuffer)`
    `void` | `setDirectBufferPool(int directBufferPool)`
    `void` | `setDirectSslBuffer(boolean directSslBuffer)`
    `void` | `setEventCache(int eventCache)`
    `void` | `setOoBInline(boolean ooBInline)`
    `void` | `setPerformanceBandwidth(int performanceBandwidth)`
    `void` | `setPerformanceConnectionTime(int performanceConnectionTime)`
    `void` | `setPerformanceLatency(int performanceLatency)`
    `void` | `setProcessorCache(int processorCache)`
    `void` | `setProperties(AsynchronousServerSocketChannel socket)`
    `void` | `setProperties(AsynchronousSocketChannel socket)`
    `void` | `setProperties(ServerSocket socket)`
    `void` | `setProperties(Socket socket)`
    `void` | `setRxBufSize(int rxBufSize)`
    `void` | `setSoKeepAlive(boolean soKeepAlive)`
    `void` | `setSoLingerOn(boolean soLingerOn)`
    `void` | `setSoLingerTime(int soLingerTime)`
    `void` | `setSoReuseAddress(boolean soReuseAddress)`
    `void` | `setSoTimeout(int soTimeout)`
    `void` | `setTcpNoDelay(boolean tcpNoDelay)`
    `void` | `setTimeoutInterval(long timeoutInterval)`
    `void` | `setTxBufSize(int txBufSize)`
    `void` | `setUnlockTimeout(int unlockTimeout)`

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

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

- - ### Field Detail

    - #### processorCache

          protected int processorCache

      Enable/disable socket processor cache, this bounded cache stores SocketProcessor objects to reduce GC Default is 500 -1 is unlimited 0 is disabled TODO: The default will be changed to 0 in Tomcat 10

    - #### eventCache

          protected int eventCache

      Enable/disable poller event cache, this bounded cache stores PollerEvent objects to reduce GC for the poller Default is 500 -1 is unlimited 0 is disabled >0 the max number of objects to keep in cache. TODO: The default will be changed to 0 in Tomcat 10

    - #### directBuffer

          protected boolean directBuffer

      Enable/disable direct buffers for the network buffers Default value is disabled

    - #### directSslBuffer

          protected boolean directSslBuffer

      Enable/disable direct buffers for the network buffers for SSL Default value is disabled

    - #### rxBufSize

          protected Integer rxBufSize

      Socket receive buffer size in bytes (SO_RCVBUF). JVM default used if not set.

    - #### txBufSize

          protected Integer txBufSize

      Socket send buffer size in bytes (SO_SNDBUF). JVM default used if not set.

    - #### appReadBufSize

          protected int appReadBufSize

      The application read buffer size in bytes. Default value is rxBufSize

    - #### appWriteBufSize

          protected int appWriteBufSize

      The application write buffer size in bytes Default value is txBufSize

    - #### bufferPool

          protected int bufferPool

      NioChannel pool size for the endpoint, this value is how many channels -1 means unlimited cached, 0 means no cache Default value is 500 TODO: The default should be changed in Tomcat 10, actually it should be bufferPoolSize / (appReadBufSize + appWriteBufSize), assuming the SSL buffers are ignored (that would be logical), and the value would be 6400. So the default value will be changed to a new default value like -2 to set a dynamic value based on bufferPoolSize in that case.

    - #### bufferPoolSize

          protected int bufferPoolSize

      Buffer pool size in bytes to be cached -1 means unlimited, 0 means no cache Default value is 100MB (1024*1024*100 bytes) TODO: The default value to be used could rather be based on the JVM max heap, otherwise it could be a problem in some environments. Big servers also need to use a much higher default, while small cloud based ones should use 0 instead. Possible default value strategy: heap inf 1GB: 0 heap sup 1GB: heap / 32

    - #### tcpNoDelay

          protected Boolean tcpNoDelay

      TCP_NO_DELAY option. JVM default used if not set.

    - #### soKeepAlive

          protected Boolean soKeepAlive

      SO_KEEPALIVE option. JVM default used if not set.

    - #### ooBInline

          protected Boolean ooBInline

      OOBINLINE option. JVM default used if not set.

    - #### soReuseAddress

          protected Boolean soReuseAddress

      SO_REUSEADDR option. JVM default used if not set.

    - #### soLingerOn

          protected Boolean soLingerOn

      SO_LINGER option, paired with the `soLingerTime` value. JVM defaults used unless both attributes are set.

    - #### soLingerTime

          protected Integer soLingerTime

      SO_LINGER option, paired with the `soLingerOn` value. JVM defaults used unless both attributes are set.

    - #### soTimeout

          protected Integer soTimeout

      SO_TIMEOUT option. default is 20000.

    - #### performanceConnectionTime

          protected Integer performanceConnectionTime

      Performance preferences according to http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int) All three performance attributes must be set or the JVM defaults will be used.

    - #### performanceLatency

          protected Integer performanceLatency

      Performance preferences according to http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int) All three performance attributes must be set or the JVM defaults will be used.

    - #### performanceBandwidth

          protected Integer performanceBandwidth

      Performance preferences according to http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int) All three performance attributes must be set or the JVM defaults will be used.

    - #### timeoutInterval

          protected long timeoutInterval

      The minimum frequency of the timeout interval to avoid excess load from the poller during high traffic

    - #### unlockTimeout

          protected int unlockTimeout

      Timeout in milliseconds for an unlock to take place.

  - ### Constructor Detail

    - #### SocketProperties

          public SocketProperties()

  - ### Method Detail

    - #### setProperties

          public void setProperties(Socket socket)
                             throws SocketException

      Throws:
        `SocketException`

    - #### setProperties

          public void setProperties(ServerSocket socket)
                             throws SocketException

      Throws:
        `SocketException`

    - #### setProperties

          public void setProperties(AsynchronousSocketChannel socket)
                             throws IOException

      Throws:
        `IOException`

    - #### setProperties

          public void setProperties(AsynchronousServerSocketChannel socket)
                             throws IOException

      Throws:
        `IOException`

    - #### getDirectBuffer

          public boolean getDirectBuffer()

    - #### getDirectSslBuffer

          public boolean getDirectSslBuffer()

    - #### getOoBInline

          public boolean getOoBInline()

    - #### getPerformanceBandwidth

          public int getPerformanceBandwidth()

    - #### getPerformanceConnectionTime

          public int getPerformanceConnectionTime()

    - #### getPerformanceLatency

          public int getPerformanceLatency()

    - #### getRxBufSize

          public int getRxBufSize()

    - #### getSoKeepAlive

          public boolean getSoKeepAlive()

    - #### getSoLingerOn

          public boolean getSoLingerOn()

    - #### getSoLingerTime

          public int getSoLingerTime()

    - #### getSoReuseAddress

          public boolean getSoReuseAddress()

    - #### getSoTimeout

          public int getSoTimeout()

    - #### getTcpNoDelay

          public boolean getTcpNoDelay()

    - #### getTxBufSize

          public int getTxBufSize()

    - #### getBufferPool

          public int getBufferPool()

    - #### getBufferPoolSize

          public int getBufferPoolSize()

    - #### getEventCache

          public int getEventCache()

    - #### getAppReadBufSize

          public int getAppReadBufSize()

    - #### getAppWriteBufSize

          public int getAppWriteBufSize()

    - #### getProcessorCache

          public int getProcessorCache()

    - #### getTimeoutInterval

          public long getTimeoutInterval()

    - #### getDirectBufferPool

          public int getDirectBufferPool()

    - #### setPerformanceConnectionTime

          public void setPerformanceConnectionTime(int performanceConnectionTime)

    - #### setTxBufSize

          public void setTxBufSize(int txBufSize)

    - #### setTcpNoDelay

          public void setTcpNoDelay(boolean tcpNoDelay)

    - #### setSoTimeout

          public void setSoTimeout(int soTimeout)

    - #### setSoReuseAddress

          public void setSoReuseAddress(boolean soReuseAddress)

    - #### setSoLingerTime

          public void setSoLingerTime(int soLingerTime)

    - #### setSoKeepAlive

          public void setSoKeepAlive(boolean soKeepAlive)

    - #### setRxBufSize

          public void setRxBufSize(int rxBufSize)

    - #### setPerformanceLatency

          public void setPerformanceLatency(int performanceLatency)

    - #### setPerformanceBandwidth

          public void setPerformanceBandwidth(int performanceBandwidth)

    - #### setOoBInline

          public void setOoBInline(boolean ooBInline)

    - #### setDirectBuffer

          public void setDirectBuffer(boolean directBuffer)

    - #### setDirectSslBuffer

          public void setDirectSslBuffer(boolean directSslBuffer)

    - #### setSoLingerOn

          public void setSoLingerOn(boolean soLingerOn)

    - #### setBufferPool

          public void setBufferPool(int bufferPool)

    - #### setBufferPoolSize

          public void setBufferPoolSize(int bufferPoolSize)

    - #### setEventCache

          public void setEventCache(int eventCache)

    - #### setAppReadBufSize

          public void setAppReadBufSize(int appReadBufSize)

    - #### setAppWriteBufSize

          public void setAppWriteBufSize(int appWriteBufSize)

    - #### setProcessorCache

          public void setProcessorCache(int processorCache)

    - #### setTimeoutInterval

          public void setTimeoutInterval(long timeoutInterval)

    - #### setDirectBufferPool

          public void setDirectBufferPool(int directBufferPool)

    - #### getUnlockTimeout

          public int getUnlockTimeout()

    - #### setUnlockTimeout

          public void setUnlockTimeout(int unlockTimeout)

Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.