public class DefaultSctpChannelConfig extends DefaultChannelConfig implements SctpChannelConfig
SctpChannelConfig
implementation for SCTP.channel
Constructor and Description |
---|
DefaultSctpChannelConfig(SctpChannel channel,
com.sun.nio.sctp.SctpChannel javaChannel) |
Modifier and Type | Method and Description |
---|---|
com.sun.nio.sctp.SctpStandardSocketOptions.InitMaxStreams |
getInitMaxStreams()
Gets the
SCTP_INIT_MAXSTREAMS option. |
<T> T |
getOption(ChannelOption<T> option)
Return the value of the given
ChannelOption |
Map<ChannelOption<?>,Object> |
getOptions()
Return all set
ChannelOption 's. |
int |
getReceiveBufferSize()
Gets the
SO_RCVBUF option. |
int |
getSendBufferSize()
Gets the
SO_SNDBUF option. |
boolean |
isSctpNoDelay()
Gets the
SCTP_NODELAY option. |
SctpChannelConfig |
setAllocator(ByteBufAllocator allocator)
Set the
ByteBufAllocator which is used for the channel
to allocate buffers. |
SctpChannelConfig |
setAutoRead(boolean autoRead)
Sets if
ChannelHandlerContext.read() will be invoked automatically so that a user application doesn't
need to call it at all. |
SctpChannelConfig |
setConnectTimeoutMillis(int connectTimeoutMillis)
Sets the connect timeout of the channel in milliseconds.
|
SctpChannelConfig |
setInitMaxStreams(com.sun.nio.sctp.SctpStandardSocketOptions.InitMaxStreams initMaxStreams)
Gets the
SCTP_INIT_MAXSTREAMS option. |
SctpChannelConfig |
setMaxMessagesPerRead(int maxMessagesPerRead)
Sets the maximum number of messages to read per read loop.
|
SctpChannelConfig |
setMessageSizeEstimator(MessageSizeEstimator estimator)
Set the
ByteBufAllocator which is used for the channel
to detect the size of a message. |
<T> boolean |
setOption(ChannelOption<T> option,
T value)
Sets a configuration property with the specified name and value.
|
SctpChannelConfig |
setReceiveBufferSize(int receiveBufferSize)
Gets the
SO_RCVBUF option. |
SctpChannelConfig |
setRecvByteBufAllocator(RecvByteBufAllocator allocator)
Set the
ByteBufAllocator which is used for the channel
to allocate receive buffers. |
SctpChannelConfig |
setSctpNoDelay(boolean sctpNoDelay)
Sets the
SCTP_NODELAY option. |
SctpChannelConfig |
setSendBufferSize(int sendBufferSize)
Sets the
SO_SNDBUF option. |
SctpChannelConfig |
setWriteBufferHighWaterMark(int writeBufferHighWaterMark)
Sets the high water mark of the write buffer.
|
SctpChannelConfig |
setWriteBufferLowWaterMark(int writeBufferLowWaterMark)
Sets the low water mark of the write buffer.
|
SctpChannelConfig |
setWriteSpinCount(int writeSpinCount)
Sets the maximum loop count for a write operation until
WritableByteChannel.write(ByteBuffer) returns a non-zero value. |
autoReadCleared, getAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMessageSizeEstimator, getOptions, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteSpinCount, isAutoRead, setOptions, validate
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMessageSizeEstimator, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteSpinCount, isAutoRead, setOptions
public DefaultSctpChannelConfig(SctpChannel channel, com.sun.nio.sctp.SctpChannel javaChannel)
public Map<ChannelOption<?>,Object> getOptions()
ChannelConfig
ChannelOption
's.getOptions
in interface ChannelConfig
getOptions
in class DefaultChannelConfig
public <T> T getOption(ChannelOption<T> option)
ChannelConfig
ChannelOption
getOption
in interface ChannelConfig
getOption
in class DefaultChannelConfig
public <T> boolean setOption(ChannelOption<T> option, T value)
ChannelConfig
public boolean setOption(ChannelOption<T> option, T value) { if (super.setOption(option, value)) { return true; } if (option.equals(additionalOption)) { .... return true; } return false; }
setOption
in interface ChannelConfig
setOption
in class DefaultChannelConfig
true
if and only if the property has been setpublic boolean isSctpNoDelay()
SctpChannelConfig
SCTP_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
.isSctpNoDelay
in interface SctpChannelConfig
public SctpChannelConfig setSctpNoDelay(boolean sctpNoDelay)
SctpChannelConfig
SCTP_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
.setSctpNoDelay
in interface SctpChannelConfig
public int getSendBufferSize()
SctpChannelConfig
SO_SNDBUF
option.getSendBufferSize
in interface SctpChannelConfig
public SctpChannelConfig setSendBufferSize(int sendBufferSize)
SctpChannelConfig
SO_SNDBUF
option.setSendBufferSize
in interface SctpChannelConfig
public int getReceiveBufferSize()
SctpChannelConfig
SO_RCVBUF
option.getReceiveBufferSize
in interface SctpChannelConfig
public SctpChannelConfig setReceiveBufferSize(int receiveBufferSize)
SctpChannelConfig
SO_RCVBUF
option.setReceiveBufferSize
in interface SctpChannelConfig
public com.sun.nio.sctp.SctpStandardSocketOptions.InitMaxStreams getInitMaxStreams()
SctpChannelConfig
SCTP_INIT_MAXSTREAMS
option.getInitMaxStreams
in interface SctpChannelConfig
public SctpChannelConfig setInitMaxStreams(com.sun.nio.sctp.SctpStandardSocketOptions.InitMaxStreams initMaxStreams)
SctpChannelConfig
SCTP_INIT_MAXSTREAMS
option.setInitMaxStreams
in interface SctpChannelConfig
public SctpChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis)
ChannelConfig
Channel
does not support connect operation, this property is not
used at all, and therefore will be ignored.setConnectTimeoutMillis
in interface ChannelConfig
setConnectTimeoutMillis
in interface SctpChannelConfig
setConnectTimeoutMillis
in class DefaultChannelConfig
connectTimeoutMillis
- the connect timeout in milliseconds.
0
to disable.public SctpChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead)
ChannelConfig
setMaxMessagesPerRead
in interface ChannelConfig
setMaxMessagesPerRead
in interface SctpChannelConfig
setMaxMessagesPerRead
in class DefaultChannelConfig
public SctpChannelConfig setWriteSpinCount(int writeSpinCount)
ChannelConfig
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
.setWriteSpinCount
in interface ChannelConfig
setWriteSpinCount
in interface SctpChannelConfig
setWriteSpinCount
in class DefaultChannelConfig
public SctpChannelConfig setAllocator(ByteBufAllocator allocator)
ChannelConfig
ByteBufAllocator
which is used for the channel
to allocate buffers.setAllocator
in interface ChannelConfig
setAllocator
in interface SctpChannelConfig
setAllocator
in class DefaultChannelConfig
public SctpChannelConfig setRecvByteBufAllocator(RecvByteBufAllocator allocator)
ChannelConfig
ByteBufAllocator
which is used for the channel
to allocate receive buffers.setRecvByteBufAllocator
in interface ChannelConfig
setRecvByteBufAllocator
in interface SctpChannelConfig
setRecvByteBufAllocator
in class DefaultChannelConfig
public SctpChannelConfig setAutoRead(boolean autoRead)
ChannelConfig
ChannelHandlerContext.read()
will be invoked automatically so that a user application doesn't
need to call it at all. The default value is true
.setAutoRead
in interface ChannelConfig
setAutoRead
in interface SctpChannelConfig
setAutoRead
in class DefaultChannelConfig
public SctpChannelConfig setWriteBufferHighWaterMark(int writeBufferHighWaterMark)
ChannelConfig
Channel.isWritable()
will start to return false
.setWriteBufferHighWaterMark
in interface ChannelConfig
setWriteBufferHighWaterMark
in interface SctpChannelConfig
setWriteBufferHighWaterMark
in class DefaultChannelConfig
public SctpChannelConfig setWriteBufferLowWaterMark(int writeBufferLowWaterMark)
ChannelConfig
Channel.isWritable()
will start to return
true
again.setWriteBufferLowWaterMark
in interface ChannelConfig
setWriteBufferLowWaterMark
in interface SctpChannelConfig
setWriteBufferLowWaterMark
in class DefaultChannelConfig
public SctpChannelConfig setMessageSizeEstimator(MessageSizeEstimator estimator)
ChannelConfig
ByteBufAllocator
which is used for the channel
to detect the size of a message.setMessageSizeEstimator
in interface ChannelConfig
setMessageSizeEstimator
in interface SctpChannelConfig
setMessageSizeEstimator
in class DefaultChannelConfig
Copyright © 2008–2015 The Netty Project. All rights reserved.