Package io.netty.channel.sctp
Interface SctpChannelConfig
- All Superinterfaces:
ChannelConfig
- All Known Implementing Classes:
DefaultSctpChannelConfig
,NioSctpChannel.NioSctpChannelConfig
,OioSctpChannel.OioSctpChannelConfig
A
ChannelConfig
for a SctpChannel
.
Available options
In addition to the options provided byChannelConfig
,
SctpChannelConfig
allows the following options in the option map:
-
Method Summary
Modifier and TypeMethodDescriptionGets theSCTP_INIT_MAXSTREAMS
option.int
Gets theSO_RCVBUF
option.int
Gets theSO_SNDBUF
option.boolean
Gets theSCTP_NODELAY
option.setAllocator
(ByteBufAllocator allocator) Set theByteBufAllocator
which is used for the channel to allocate buffers.setAutoClose
(boolean autoClose) Sets whether theChannel
should be closed automatically and immediately on write failure.setAutoRead
(boolean autoRead) Sets ifChannelHandlerContext.read()
will be invoked automatically so that a user application doesn't need to call it at all.setConnectTimeoutMillis
(int connectTimeoutMillis) Sets the connect timeout of the channel in milliseconds.setInitMaxStreams
(SctpStandardSocketOptions.InitMaxStreams initMaxStreams) Gets theSCTP_INIT_MAXSTREAMS
option.setMaxMessagesPerRead
(int maxMessagesPerRead) Deprecated.setMessageSizeEstimator
(MessageSizeEstimator estimator) Set theMessageSizeEstimator
which is used for the channel to detect the size of a message.setReceiveBufferSize
(int receiveBufferSize) Gets theSO_RCVBUF
option.setRecvByteBufAllocator
(RecvByteBufAllocator allocator) Set theRecvByteBufAllocator
which is used for the channel to allocate receive buffers.setSctpNoDelay
(boolean sctpNoDelay) Sets theSCTP_NODELAY
option.setSendBufferSize
(int sendBufferSize) Sets theSO_SNDBUF
option.setWriteBufferHighWaterMark
(int writeBufferHighWaterMark) Sets the high water mark of the write buffer.setWriteBufferLowWaterMark
(int writeBufferLowWaterMark) Sets the low water mark of the write buffer.setWriteBufferWaterMark
(WriteBufferWaterMark writeBufferWaterMark) Set theWriteBufferWaterMark
which is used for setting the high and low water mark of the write buffer.setWriteSpinCount
(int writeSpinCount) Sets the maximum loop count for a write operation untilWritableByteChannel.write(ByteBuffer)
returns a non-zero value.Methods inherited from interface io.netty.channel.ChannelConfig
getAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMessageSizeEstimator, getOption, getOptions, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteBufferWaterMark, getWriteSpinCount, isAutoClose, isAutoRead, setOption, setOptions
-
Method Details
-
isSctpNoDelay
boolean isSctpNoDelay()Gets theSCTP_NODELAY
option. Please note that the default value of this option istrue
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 befalse
. -
setSctpNoDelay
Sets theSCTP_NODELAY
option. Please note that the default value of this option istrue
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 befalse
. -
getSendBufferSize
int getSendBufferSize()Gets theSO_SNDBUF
option. -
setSendBufferSize
Sets theSO_SNDBUF
option. -
getReceiveBufferSize
int getReceiveBufferSize()Gets theSO_RCVBUF
option. -
setReceiveBufferSize
Gets theSO_RCVBUF
option. -
getInitMaxStreams
SctpStandardSocketOptions.InitMaxStreams getInitMaxStreams()Gets theSCTP_INIT_MAXSTREAMS
option. -
setInitMaxStreams
Gets theSCTP_INIT_MAXSTREAMS
option. -
setConnectTimeoutMillis
Description copied from interface:ChannelConfig
Sets the connect timeout of the channel in milliseconds. If theChannel
does not support connect operation, this property is not used at all, and therefore will be ignored.- Specified by:
setConnectTimeoutMillis
in interfaceChannelConfig
- Parameters:
connectTimeoutMillis
- the connect timeout in milliseconds.0
to disable.
-
setMaxMessagesPerRead
Deprecated.- Specified by:
setMaxMessagesPerRead
in interfaceChannelConfig
-
setWriteSpinCount
Description copied from interface:ChannelConfig
Sets the maximum loop count for a write operation untilWritableByteChannel.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 is16
.- Specified by:
setWriteSpinCount
in interfaceChannelConfig
-
setAllocator
Description copied from interface:ChannelConfig
Set theByteBufAllocator
which is used for the channel to allocate buffers.- Specified by:
setAllocator
in interfaceChannelConfig
-
setRecvByteBufAllocator
Description copied from interface:ChannelConfig
Set theRecvByteBufAllocator
which is used for the channel to allocate receive buffers.- Specified by:
setRecvByteBufAllocator
in interfaceChannelConfig
-
setAutoRead
Description copied from interface:ChannelConfig
Sets ifChannelHandlerContext.read()
will be invoked automatically so that a user application doesn't need to call it at all. The default value istrue
.- Specified by:
setAutoRead
in interfaceChannelConfig
-
setAutoClose
Description copied from interface:ChannelConfig
Sets whether theChannel
should be closed automatically and immediately on write failure. The default istrue
.- Specified by:
setAutoClose
in interfaceChannelConfig
-
setWriteBufferHighWaterMark
Description copied from interface:ChannelConfig
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 returnfalse
.- Specified by:
setWriteBufferHighWaterMark
in interfaceChannelConfig
-
setWriteBufferLowWaterMark
Description copied from interface:ChannelConfig
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 returntrue
again.- Specified by:
setWriteBufferLowWaterMark
in interfaceChannelConfig
-
setWriteBufferWaterMark
Description copied from interface:ChannelConfig
Set theWriteBufferWaterMark
which is used for setting the high and low water mark of the write buffer.- Specified by:
setWriteBufferWaterMark
in interfaceChannelConfig
-
setMessageSizeEstimator
Description copied from interface:ChannelConfig
Set theMessageSizeEstimator
which is used for the channel to detect the size of a message.- Specified by:
setMessageSizeEstimator
in interfaceChannelConfig
-