Package org.apache.tomcat.util.net
Class SocketProperties
- java.lang.Object
-
- org.apache.tomcat.util.net.SocketProperties
-
public class SocketProperties extends java.lang.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 Description protected int
appReadBufSize
The application read buffer size in bytes.protected int
appWriteBufSize
The application write buffer size in bytes Default value is txBufSizeprotected 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 -2protected 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.protected boolean
directBuffer
Enable/disable direct buffers for the network buffers Default value is disabledprotected boolean
directSslBuffer
Enable/disable direct buffers for the network buffers for SSL Default value is disabledprotected 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 java.lang.Boolean
ooBInline
OOBINLINE option.protected java.lang.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 java.lang.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 java.lang.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 disabledprotected java.lang.Integer
rxBufSize
Socket receive buffer size in bytes (SO_RCVBUF).protected java.lang.Boolean
soKeepAlive
SO_KEEPALIVE option.protected java.lang.Boolean
soLingerOn
SO_LINGER option, paired with thesoLingerTime
value.protected java.lang.Integer
soLingerTime
SO_LINGER option, paired with thesoLingerOn
value.protected java.lang.Boolean
soReuseAddress
SO_REUSEADDR option.protected java.lang.Integer
soTimeout
SO_TIMEOUT option. default is 20000.protected java.lang.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 trafficprotected java.lang.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 Description SocketProperties()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getActualBufferPool(int bufferOverhead)
Get the actual buffer pool size to use.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(java.net.ServerSocket socket)
void
setProperties(java.net.Socket socket)
void
setProperties(java.nio.channels.AsynchronousServerSocketChannel socket)
void
setProperties(java.nio.channels.AsynchronousSocketChannel 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)
-
-
-
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
-
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.
-
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 java.lang.Integer rxBufSize
Socket receive buffer size in bytes (SO_RCVBUF). JVM default used if not set.
-
txBufSize
protected java.lang.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, -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 java.lang.Boolean tcpNoDelay
TCP_NO_DELAY option. JVM default used if not set.
-
soKeepAlive
protected java.lang.Boolean soKeepAlive
SO_KEEPALIVE option. JVM default used if not set.
-
ooBInline
protected java.lang.Boolean ooBInline
OOBINLINE option. JVM default used if not set.
-
soReuseAddress
protected java.lang.Boolean soReuseAddress
SO_REUSEADDR option. JVM default used if not set.
-
soLingerOn
protected java.lang.Boolean soLingerOn
SO_LINGER option, paired with thesoLingerTime
value. JVM defaults used unless both attributes are set.
-
soLingerTime
protected java.lang.Integer soLingerTime
SO_LINGER option, paired with thesoLingerOn
value. JVM defaults used unless both attributes are set.
-
soTimeout
protected java.lang.Integer soTimeout
SO_TIMEOUT option. default is 20000.
-
performanceConnectionTime
protected java.lang.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 java.lang.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 java.lang.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.
-
-
Method Detail
-
setProperties
public void setProperties(java.net.Socket socket) throws java.net.SocketException
- Throws:
java.net.SocketException
-
setProperties
public void setProperties(java.net.ServerSocket socket) throws java.net.SocketException
- Throws:
java.net.SocketException
-
setProperties
public void setProperties(java.nio.channels.AsynchronousSocketChannel socket) throws java.io.IOException
- Throws:
java.io.IOException
-
setProperties
public void setProperties(java.nio.channels.AsynchronousServerSocketChannel socket) throws java.io.IOException
- Throws:
java.io.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
-
-