Top Description Fields Constructors Methods
io.netty.channel.socket

public Class DefaultSocketChannelConfig

extends DefaultChannelConfig
implements SocketChannelConfig
Class Inheritance
All Implemented Interfaces
io.netty.channel.socket.SocketChannelConfig, io.netty.channel.socket.DuplexChannelConfig, io.netty.channel.ChannelConfig
Known Direct Subclasses
io.netty.channel.socket.nio.NioSocketChannel.NioSocketChannelConfig, io.netty.channel.socket.oio.DefaultOioSocketChannelConfig
Imports
io.netty.buffer.ByteBufAllocator, io.netty.channel.ChannelException, .ChannelOption, .DefaultChannelConfig, .MessageSizeEstimator, .RecvByteBufAllocator, .WriteBufferWaterMark, io.netty.util.internal.ObjectUtil, .PlatformDependent, java.net.Socket, .SocketException, java.util.Map

The default SocketChannelConfig implementation.

Field Summary

Modifier and TypeField and Description
private volatile boolean
protected final Socket
Inherited from io.netty.channel.DefaultChannelConfig:
channel

Constructor Summary

AccessConstructor and Description
public
DefaultSocketChannelConfig(SocketChannel channel, Socket javaSocket)

Creates a new instance.

Method Summary

Modifier and TypeMethod and Description
public <T> T
public Map<ChannelOption<?>, Object>
public int
public int
public int
public int
public boolean
isAllowHalfClosure()

Implements io.netty.channel.socket.DuplexChannelConfig.isAllowHalfClosure.

Returns true if and only if the channel should not close itself when its remote peer shuts down output to make the connection half-closed.
public boolean
public boolean
public boolean
public SocketChannelConfig
public SocketChannelConfig
setAllowHalfClosure(boolean allowHalfClosure)

Implements io.netty.channel.socket.SocketChannelConfig.setAllowHalfClosure.

Sets whether the channel should not close itself when its remote peer shuts down output to make the connection half-closed.
public SocketChannelConfig
setAutoClose(boolean autoClose)

Overrides io.netty.channel.DefaultChannelConfig.setAutoClose.

Implements io.netty.channel.socket.SocketChannelConfig.setAutoClose, io.netty.channel.ChannelConfig.setAutoClose.

Sets whether the Channel should be closed automatically and immediately on write failure.
public SocketChannelConfig
setAutoRead(boolean autoRead)

Overrides io.netty.channel.DefaultChannelConfig.setAutoRead.

Implements io.netty.channel.socket.SocketChannelConfig.setAutoRead, io.netty.channel.ChannelConfig.setAutoRead.

Sets if ChannelHandlerContext#read() will be invoked automatically so that a user application doesn't need to call it at all.
public SocketChannelConfig
setConnectTimeoutMillis(int
the connect timeout in milliseconds. 0 to disable.
connectTimeoutMillis
)

Overrides io.netty.channel.DefaultChannelConfig.setConnectTimeoutMillis.

Implements io.netty.channel.socket.SocketChannelConfig.setConnectTimeoutMillis, io.netty.channel.ChannelConfig.setConnectTimeoutMillis.

Sets the connect timeout of the channel in milliseconds.
public SocketChannelConfig
public SocketChannelConfig
public SocketChannelConfig
public <T> boolean
setOption(ChannelOption<T> option, T value)

Overrides io.netty.channel.DefaultChannelConfig.setOption.

Implements io.netty.channel.ChannelConfig.setOption.

Sets a configuration property with the specified name and value.
public SocketChannelConfig
setPerformancePreferences(int connectionTime, int latency, int bandwidth)

Implements io.netty.channel.socket.SocketChannelConfig.setPerformancePreferences.

Sets the performance preferences as specified in Socket#setPerformancePreferences(int, int, int).
public SocketChannelConfig
public SocketChannelConfig
public SocketChannelConfig
public SocketChannelConfig
public SocketChannelConfig
public SocketChannelConfig
public SocketChannelConfig
public SocketChannelConfig
setWriteBufferHighWaterMark(int writeBufferHighWaterMark)

Overrides io.netty.channel.DefaultChannelConfig.setWriteBufferHighWaterMark.

Implements io.netty.channel.ChannelConfig.setWriteBufferHighWaterMark.

Sets the high water mark of the write buffer.

public SocketChannelConfig
setWriteBufferLowWaterMark(int writeBufferLowWaterMark)

Overrides io.netty.channel.DefaultChannelConfig.setWriteBufferLowWaterMark.

Implements io.netty.channel.ChannelConfig.setWriteBufferLowWaterMark.

Sets the low water mark of the write buffer.

public SocketChannelConfig
public SocketChannelConfig
Inherited from io.netty.channel.DefaultChannelConfig:
autoReadClearedgetAllocatorgetConnectTimeoutMillisgetMaxMessagesPerReadgetMaxMessagesPerWritegetMessageSizeEstimatorgetOptionsgetRecvByteBufAllocatorgetWriteBufferHighWaterMarkgetWriteBufferLowWaterMarkgetWriteBufferWaterMarkgetWriteSpinCountisAutoCloseisAutoReadsetMaxMessagesPerWritesetOptionsvalidate

Field Detail

allowHalfClosureback to summary
private volatile boolean allowHalfClosure
javaSocketback to summary
protected final Socket javaSocket

Constructor Detail

DefaultSocketChannelConfigback to summary
public DefaultSocketChannelConfig(SocketChannel channel, Socket javaSocket)

Creates a new instance.

Method Detail

getOptionback to summary
public <T> T getOption(ChannelOption<T> option)

Overrides io.netty.channel.DefaultChannelConfig.getOption.

Implements io.netty.channel.ChannelConfig.getOption.

Doc from io.netty.channel.ChannelConfig.getOption.

Return the value of the given ChannelOption

Annotations
@SuppressWarnings:unchecked
@Override
getOptionsback to summary
public Map<ChannelOption<?>, Object> getOptions()

Overrides io.netty.channel.DefaultChannelConfig.getOptions.

Implements io.netty.channel.ChannelConfig.getOptions.

Doc from io.netty.channel.ChannelConfig.getOptions.

Return all set ChannelOption's.

Annotations
@Override
getReceiveBufferSizeback to summary
public int getReceiveBufferSize()

Implements io.netty.channel.socket.SocketChannelConfig.getReceiveBufferSize.

Doc from io.netty.channel.socket.SocketChannelConfig.getReceiveBufferSize.

Gets the StandardSocketOptions#SO_RCVBUF option.

Annotations
@Override
getSendBufferSizeback to summary
public int getSendBufferSize()

Implements io.netty.channel.socket.SocketChannelConfig.getSendBufferSize.

Doc from io.netty.channel.socket.SocketChannelConfig.getSendBufferSize.

Gets the StandardSocketOptions#SO_SNDBUF option.

Annotations
@Override
getSoLingerback to summary
public int getSoLinger()

Implements io.netty.channel.socket.SocketChannelConfig.getSoLinger.

Doc from io.netty.channel.socket.SocketChannelConfig.getSoLinger.

Gets the StandardSocketOptions#SO_LINGER option.

Annotations
@Override
getTrafficClassback to summary
public int getTrafficClass()

Implements io.netty.channel.socket.SocketChannelConfig.getTrafficClass.

Doc from io.netty.channel.socket.SocketChannelConfig.getTrafficClass.

Gets the StandardSocketOptions#IP_TOS option.

Annotations
@Override
isAllowHalfClosureback to summary
public boolean isAllowHalfClosure()

Implements io.netty.channel.socket.DuplexChannelConfig.isAllowHalfClosure.

Doc from io.netty.channel.socket.DuplexChannelConfig.isAllowHalfClosure.

Returns true if and only if the channel should not close itself when its remote peer shuts down output to make the connection half-closed. If false, the connection is closed automatically when the remote peer shuts down output.

Annotations
@Override
isKeepAliveback to summary
public boolean isKeepAlive()

Implements io.netty.channel.socket.SocketChannelConfig.isKeepAlive.

Doc from io.netty.channel.socket.SocketChannelConfig.isKeepAlive.

Gets the StandardSocketOptions#SO_KEEPALIVE option.

Annotations
@Override
isReuseAddressback to summary
public boolean isReuseAddress()

Implements io.netty.channel.socket.SocketChannelConfig.isReuseAddress.

Doc from io.netty.channel.socket.SocketChannelConfig.isReuseAddress.

Gets the StandardSocketOptions#SO_REUSEADDR option.

Annotations
@Override
isTcpNoDelayback to summary
public boolean isTcpNoDelay()

Implements io.netty.channel.socket.SocketChannelConfig.isTcpNoDelay.

Doc from io.netty.channel.socket.SocketChannelConfig.isTcpNoDelay.

Gets the StandardSocketOptions#TCP_NODELAY option. Please note that the default value of this option is true unlike the operating system default (false). However, for some buggy platforms, such as Android, that shows erratic behavior with Nagle's algorithm disabled, the default value remains to be false.

Annotations
@Override
setAllocatorback to summary
public SocketChannelConfig setAllocator(ByteBufAllocator allocator)

Overrides io.netty.channel.DefaultChannelConfig.setAllocator.

Implements io.netty.channel.socket.SocketChannelConfig.setAllocator, io.netty.channel.ChannelConfig.setAllocator.

Doc from io.netty.channel.ChannelConfig.setAllocator.

Set the ByteBufAllocator which is used for the channel to allocate buffers.

Annotations
@Override
setAllowHalfClosureback to summary
public SocketChannelConfig setAllowHalfClosure(boolean allowHalfClosure)

Implements io.netty.channel.socket.SocketChannelConfig.setAllowHalfClosure.

Doc from io.netty.channel.socket.DuplexChannelConfig.setAllowHalfClosure.

Sets whether the channel should not close itself when its remote peer shuts down output to make the connection half-closed. If true the connection is not closed when the remote peer shuts down output. Instead, ChannelInboundHandler#userEventTriggered(ChannelHandlerContext, Object) is invoked with a ChannelInputShutdownEvent object. If false, the connection is closed automatically.

Annotations
@Override
setAutoCloseback to summary
public SocketChannelConfig setAutoClose(boolean autoClose)

Overrides io.netty.channel.DefaultChannelConfig.setAutoClose.

Implements io.netty.channel.socket.SocketChannelConfig.setAutoClose, io.netty.channel.ChannelConfig.setAutoClose.

Doc from io.netty.channel.ChannelConfig.setAutoClose.

Sets whether the Channel should be closed automatically and immediately on write failure. The default is true.

Annotations
@Override
setAutoReadback to summary
public SocketChannelConfig setAutoRead(boolean autoRead)

Overrides io.netty.channel.DefaultChannelConfig.setAutoRead.

Implements io.netty.channel.socket.SocketChannelConfig.setAutoRead, io.netty.channel.ChannelConfig.setAutoRead.

Doc from io.netty.channel.ChannelConfig.setAutoRead.

Sets if ChannelHandlerContext#read() will be invoked automatically so that a user application doesn't need to call it at all. The default value is true.

Annotations
@Override
setConnectTimeoutMillisback to summary
public SocketChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis)

Overrides io.netty.channel.DefaultChannelConfig.setConnectTimeoutMillis.

Implements io.netty.channel.socket.SocketChannelConfig.setConnectTimeoutMillis, io.netty.channel.ChannelConfig.setConnectTimeoutMillis.

Doc from io.netty.channel.ChannelConfig.setConnectTimeoutMillis.

Sets the connect timeout of the channel in milliseconds. If the Channel does not support connect operation, this property is not used at all, and therefore will be ignored.

Parameters
connectTimeoutMillis:int

the connect timeout in milliseconds. 0 to disable.

Annotations
@Override
setKeepAliveback to summary
public SocketChannelConfig setKeepAlive(boolean keepAlive)

Implements io.netty.channel.socket.SocketChannelConfig.setKeepAlive.

Doc from io.netty.channel.socket.SocketChannelConfig.setKeepAlive.

Sets the StandardSocketOptions#SO_KEEPALIVE option.

Annotations
@Override
setMaxMessagesPerReadback to summary
public SocketChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead)

Overrides io.netty.channel.DefaultChannelConfig.setMaxMessagesPerRead.

Implements io.netty.channel.socket.SocketChannelConfig.setMaxMessagesPerRead, io.netty.channel.ChannelConfig.setMaxMessagesPerRead.

Doc from io.netty.channel.DefaultChannelConfig.setMaxMessagesPerRead.

Deprecated

Annotations
@Override
@Deprecated
setMessageSizeEstimatorback to summary
public SocketChannelConfig setMessageSizeEstimator(MessageSizeEstimator estimator)

Overrides io.netty.channel.DefaultChannelConfig.setMessageSizeEstimator.

Implements io.netty.channel.socket.SocketChannelConfig.setMessageSizeEstimator, io.netty.channel.ChannelConfig.setMessageSizeEstimator.

Doc from io.netty.channel.ChannelConfig.setMessageSizeEstimator.

Set the MessageSizeEstimator which is used for the channel to detect the size of a message.

Annotations
@Override
setOptionback to summary
public <T> boolean setOption(ChannelOption<T> option, T value)

Overrides io.netty.channel.DefaultChannelConfig.setOption.

Implements io.netty.channel.ChannelConfig.setOption.

Doc from io.netty.channel.ChannelConfig.setOption.

Sets a configuration property with the specified name and value. To override this method properly, you must call the super class:

public boolean setOption(ChannelOption<T> option, T value) {
    if (super.setOption(option, value)) {
        return true;
    }

    if (option.equals(additionalOption)) {
        ....
        return true;
    }

    return false;
}
Returns:boolean

true if and only if the property has been set

Annotations
@Override
setPerformancePreferencesback to summary
public SocketChannelConfig setPerformancePreferences(int connectionTime, int latency, int bandwidth)

Implements io.netty.channel.socket.SocketChannelConfig.setPerformancePreferences.

Doc from io.netty.channel.socket.SocketChannelConfig.setPerformancePreferences.

Sets the performance preferences as specified in Socket#setPerformancePreferences(int, int, int).

Annotations
@Override
setReceiveBufferSizeback to summary
public SocketChannelConfig setReceiveBufferSize(int receiveBufferSize)

Implements io.netty.channel.socket.SocketChannelConfig.setReceiveBufferSize.

Doc from io.netty.channel.socket.SocketChannelConfig.setReceiveBufferSize.

Sets the StandardSocketOptions#SO_RCVBUF option.

Annotations
@Override
setRecvByteBufAllocatorback to summary
public SocketChannelConfig setRecvByteBufAllocator(RecvByteBufAllocator allocator)

Overrides io.netty.channel.DefaultChannelConfig.setRecvByteBufAllocator.

Implements io.netty.channel.socket.SocketChannelConfig.setRecvByteBufAllocator, io.netty.channel.ChannelConfig.setRecvByteBufAllocator.

Doc from io.netty.channel.ChannelConfig.setRecvByteBufAllocator.

Set the RecvByteBufAllocator which is used for the channel to allocate receive buffers.

Annotations
@Override
setReuseAddressback to summary
public SocketChannelConfig setReuseAddress(boolean reuseAddress)

Implements io.netty.channel.socket.SocketChannelConfig.setReuseAddress.

Doc from io.netty.channel.socket.SocketChannelConfig.setReuseAddress.

Sets the StandardSocketOptions#SO_REUSEADDR option.

Annotations
@Override
setSendBufferSizeback to summary
public SocketChannelConfig setSendBufferSize(int sendBufferSize)

Implements io.netty.channel.socket.SocketChannelConfig.setSendBufferSize.

Doc from io.netty.channel.socket.SocketChannelConfig.setSendBufferSize.

Sets the StandardSocketOptions#SO_SNDBUF option.

Annotations
@Override
setSoLingerback to summary
public SocketChannelConfig setSoLinger(int soLinger)

Implements io.netty.channel.socket.SocketChannelConfig.setSoLinger.

Doc from io.netty.channel.socket.SocketChannelConfig.setSoLinger.

Sets the StandardSocketOptions#SO_LINGER option.

Annotations
@Override
setTcpNoDelayback to summary
public SocketChannelConfig setTcpNoDelay(boolean tcpNoDelay)

Implements io.netty.channel.socket.SocketChannelConfig.setTcpNoDelay.

Doc from io.netty.channel.socket.SocketChannelConfig.setTcpNoDelay.

Sets the StandardSocketOptions#TCP_NODELAY option. Please note that the default value of this option is true unlike the operating system default (false). However, for some buggy platforms, such as Android, that shows erratic behavior with Nagle's algorithm disabled, the default value remains to be false.

Annotations
@Override
setTrafficClassback to summary
public SocketChannelConfig setTrafficClass(int trafficClass)

Implements io.netty.channel.socket.SocketChannelConfig.setTrafficClass.

Doc from io.netty.channel.socket.SocketChannelConfig.setTrafficClass.

Sets the StandardSocketOptions#IP_TOS option.

Annotations
@Override
setWriteBufferHighWaterMarkback to summary
public SocketChannelConfig setWriteBufferHighWaterMark(int writeBufferHighWaterMark)

Overrides io.netty.channel.DefaultChannelConfig.setWriteBufferHighWaterMark.

Implements io.netty.channel.ChannelConfig.setWriteBufferHighWaterMark.

Doc from io.netty.channel.ChannelConfig.setWriteBufferHighWaterMark.

Sets the high water mark of the write buffer. If the number of bytes queued in the write buffer exceeds this value, Channel#isWritable() will start to return false.

Annotations
@Override
setWriteBufferLowWaterMarkback to summary
public SocketChannelConfig setWriteBufferLowWaterMark(int writeBufferLowWaterMark)

Overrides io.netty.channel.DefaultChannelConfig.setWriteBufferLowWaterMark.

Implements io.netty.channel.ChannelConfig.setWriteBufferLowWaterMark.

Doc from io.netty.channel.ChannelConfig.setWriteBufferLowWaterMark.

Sets the low water mark of the write buffer. Once the number of bytes queued in the write buffer exceeded the high water mark and then dropped down below this value, Channel#isWritable() will start to return true again.

Annotations
@Override
setWriteBufferWaterMarkback to summary
public SocketChannelConfig setWriteBufferWaterMark(WriteBufferWaterMark writeBufferWaterMark)

Overrides io.netty.channel.DefaultChannelConfig.setWriteBufferWaterMark.

Implements io.netty.channel.socket.SocketChannelConfig.setWriteBufferWaterMark, io.netty.channel.ChannelConfig.setWriteBufferWaterMark.

Doc from io.netty.channel.ChannelConfig.setWriteBufferWaterMark.

Set the WriteBufferWaterMark which is used for setting the high and low water mark of the write buffer.

Annotations
@Override
setWriteSpinCountback to summary
public SocketChannelConfig setWriteSpinCount(int writeSpinCount)

Overrides io.netty.channel.DefaultChannelConfig.setWriteSpinCount.

Implements io.netty.channel.socket.SocketChannelConfig.setWriteSpinCount, io.netty.channel.ChannelConfig.setWriteSpinCount.

Doc from io.netty.channel.ChannelConfig.setWriteSpinCount.

Sets the maximum loop count for a write operation until WritableByteChannel#write(ByteBuffer) returns a non-zero value. It is similar to what a spin lock is used for in concurrency programming. It improves memory utilization and write throughput depending on the platform that JVM runs on. The default value is 16.

Annotations
@Override