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 Details

    • processorCache

      protected int processorCache
      Enable/disable socket processor cache, this bounded cache stores SocketProcessor objects to reduce GC Default is 0 -1 is unlimited 0 is disabled
    • eventCache

      protected int eventCache
      Enable/disable poller event cache, this bounded cache stores PollerEvent objects to reduce GC for the poller Default is 0 -1 is unlimited 0 is disabled >0 the max number of objects to keep in cache.
    • 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 8192
    • appWriteBufSize

      protected int appWriteBufSize
      The application write buffer size in bytes Default value is 8192
    • bufferPool

      protected int bufferPool
      NioChannel pool size for the endpoint, this value is how many channels -1 means unlimited cached, 0 means no cache, -2 means bufferPoolSize will be used Default value is -2
    • bufferPoolSize

      protected int bufferPoolSize
      Buffer pool size in bytes to be cached -1 means unlimited, 0 means no cache Default value is based on the max memory reported by the JVM, if less than 1GB, then 0, else the value divided by 32. This value will then be used to compute bufferPool if its value is -2
    • 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 Details

    • SocketProperties

      public SocketProperties()
  • Method Details

    • 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)
    • getActualBufferPool

      public int getActualBufferPool(int bufferOverhead)
      Get the actual buffer pool size to use.
      Parameters:
      bufferOverhead - When TLS is enabled, additional network buffers are needed and will be added to the application buffer size
      Returns:
      the actual buffer pool size that will be used