public final class EpollDatagramChannelConfig extends EpollChannelConfig implements DatagramChannelConfig
channel| 限定符和类型 | 方法和说明 |
|---|---|
java.net.InetAddress |
getInterface()
Gets the address of the network interface used for multicast packets.
|
int |
getMaxDatagramPayloadSize()
Get the maximum
DatagramPacket size. |
java.net.NetworkInterface |
getNetworkInterface()
Gets the
StandardSocketOptions.IP_MULTICAST_IF option. |
<T> T |
getOption(ChannelOption<T> option)
Return the value of the given
ChannelOption |
java.util.Map<ChannelOption<?>,java.lang.Object> |
getOptions()
Return all set
ChannelOption's. |
int |
getReceiveBufferSize()
Gets the
StandardSocketOptions.SO_RCVBUF option. |
int |
getSendBufferSize()
Gets the
StandardSocketOptions.SO_SNDBUF option. |
int |
getTimeToLive()
Gets the
StandardSocketOptions.IP_MULTICAST_TTL option. |
int |
getTrafficClass()
Gets the
StandardSocketOptions.IP_TOS option. |
boolean |
isBroadcast()
Gets the
StandardSocketOptions.SO_BROADCAST option. |
boolean |
isFreeBind()
|
boolean |
isIpRecvOrigDestAddr()
|
boolean |
isIpTransparent()
|
boolean |
isLoopbackModeDisabled()
Gets the
StandardSocketOptions.IP_MULTICAST_LOOP option. |
boolean |
isReuseAddress()
Gets the
StandardSocketOptions.SO_REUSEADDR option. |
boolean |
isReusePort()
Returns
true if the SO_REUSEPORT option is set. |
boolean |
isUdpGro()
Returns if
UDP_GRO is enabled. |
EpollDatagramChannelConfig |
setAllocator(ByteBufAllocator allocator)
Set the
ByteBufAllocator which is used for the channel
to allocate buffers. |
EpollDatagramChannelConfig |
setAutoClose(boolean autoClose)
Sets whether the
Channel should be closed automatically and immediately on write failure. |
EpollDatagramChannelConfig |
setAutoRead(boolean autoRead)
Sets if
ChannelHandlerContext.read() will be invoked automatically so that a user application doesn't
need to call it at all. |
EpollDatagramChannelConfig |
setBroadcast(boolean broadcast)
Sets the
StandardSocketOptions.SO_BROADCAST option. |
EpollDatagramChannelConfig |
setConnectTimeoutMillis(int connectTimeoutMillis)
Sets the connect timeout of the channel in milliseconds.
|
EpollDatagramChannelConfig |
setEpollMode(EpollMode mode)
Set the
EpollMode used. |
EpollDatagramChannelConfig |
setFreeBind(boolean freeBind)
|
EpollDatagramChannelConfig |
setInterface(java.net.InetAddress interfaceAddress)
Sets the address of the network interface used for multicast packets.
|
EpollDatagramChannelConfig |
setIpRecvOrigDestAddr(boolean ipTransparent)
|
EpollDatagramChannelConfig |
setIpTransparent(boolean ipTransparent)
|
DatagramChannelConfig |
setLoopbackModeDisabled(boolean loopbackModeDisabled)
Sets the
StandardSocketOptions.IP_MULTICAST_LOOP option. |
EpollDatagramChannelConfig |
setMaxDatagramPayloadSize(int maxDatagramSize)
Set the maximum
DatagramPacket size. |
EpollDatagramChannelConfig |
setMaxMessagesPerRead(int maxMessagesPerRead)
已过时。
|
EpollDatagramChannelConfig |
setMaxMessagesPerWrite(int maxMessagesPerWrite)
Set the maximum number of message to write per eventloop run.
|
EpollDatagramChannelConfig |
setMessageSizeEstimator(MessageSizeEstimator estimator)
Set the
MessageSizeEstimator which is used for the channel
to detect the size of a message. |
EpollDatagramChannelConfig |
setNetworkInterface(java.net.NetworkInterface networkInterface)
Sets the
StandardSocketOptions.IP_MULTICAST_IF option. |
<T> boolean |
setOption(ChannelOption<T> option,
T value)
Sets a configuration property with the specified name and value.
|
EpollDatagramChannelConfig |
setReceiveBufferSize(int receiveBufferSize)
Sets the
StandardSocketOptions.SO_RCVBUF option. |
EpollDatagramChannelConfig |
setRecvByteBufAllocator(RecvByteBufAllocator allocator)
Set the
RecvByteBufAllocator which is used for the channel to allocate receive buffers. |
EpollDatagramChannelConfig |
setReuseAddress(boolean reuseAddress)
Gets the
StandardSocketOptions.SO_REUSEADDR option. |
EpollDatagramChannelConfig |
setReusePort(boolean reusePort)
Set the SO_REUSEPORT option on the underlying Channel.
|
EpollDatagramChannelConfig |
setSendBufferSize(int sendBufferSize)
Sets the
StandardSocketOptions.SO_SNDBUF option. |
EpollDatagramChannelConfig |
setTimeToLive(int ttl)
Sets the
StandardSocketOptions.IP_MULTICAST_TTL option. |
EpollDatagramChannelConfig |
setTrafficClass(int trafficClass)
Sets the
StandardSocketOptions.IP_TOS option. |
EpollDatagramChannelConfig |
setUdpGro(boolean gro)
Enable / disable UDP_GRO.
|
EpollDatagramChannelConfig |
setWriteBufferHighWaterMark(int writeBufferHighWaterMark)
已过时。
|
EpollDatagramChannelConfig |
setWriteBufferLowWaterMark(int writeBufferLowWaterMark)
已过时。
|
EpollDatagramChannelConfig |
setWriteBufferWaterMark(WriteBufferWaterMark writeBufferWaterMark)
Set the
WriteBufferWaterMark which is used for setting the high and low
water mark of the write buffer. |
EpollDatagramChannelConfig |
setWriteSpinCount(int writeSpinCount)
Sets the maximum loop count for a write operation until
WritableByteChannel.write(ByteBuffer) returns a non-zero value. |
autoReadCleared, getEpollMode, getMaxBytesPerGatheringWrite, setMaxBytesPerGatheringWrite, socketgetAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMaxMessagesPerWrite, getMessageSizeEstimator, getOptions, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteBufferWaterMark, getWriteSpinCount, isAutoClose, isAutoRead, setOptions, validatepublic java.util.Map<ChannelOption<?>,java.lang.Object> getOptions()
ChannelConfigChannelOption's.getOptions 在接口中 ChannelConfiggetOptions 在类中 EpollChannelConfigpublic <T> T getOption(ChannelOption<T> option)
ChannelConfigChannelOptiongetOption 在接口中 ChannelConfiggetOption 在类中 EpollChannelConfigpublic <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 在接口中 ChannelConfigsetOption 在类中 EpollChannelConfigtrue if and only if the property has been setpublic EpollDatagramChannelConfig setMessageSizeEstimator(MessageSizeEstimator estimator)
ChannelConfigMessageSizeEstimator which is used for the channel
to detect the size of a message.setMessageSizeEstimator 在接口中 ChannelConfigsetMessageSizeEstimator 在接口中 DatagramChannelConfigsetMessageSizeEstimator 在类中 EpollChannelConfig@Deprecated public EpollDatagramChannelConfig setWriteBufferLowWaterMark(int writeBufferLowWaterMark)
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 return
true again.
setWriteBufferLowWaterMark 在接口中 ChannelConfigsetWriteBufferLowWaterMark 在类中 EpollChannelConfig@Deprecated public EpollDatagramChannelConfig setWriteBufferHighWaterMark(int writeBufferHighWaterMark)
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 return false.
public EpollDatagramChannelConfig setWriteBufferWaterMark(WriteBufferWaterMark writeBufferWaterMark)
ChannelConfigWriteBufferWaterMark which is used for setting the high and low
water mark of the write buffer.setWriteBufferWaterMark 在接口中 ChannelConfigsetWriteBufferWaterMark 在接口中 DatagramChannelConfigsetWriteBufferWaterMark 在类中 EpollChannelConfigpublic EpollDatagramChannelConfig setAutoClose(boolean autoClose)
ChannelConfigChannel should be closed automatically and immediately on write failure.
The default is true.setAutoClose 在接口中 ChannelConfigsetAutoClose 在接口中 DatagramChannelConfigsetAutoClose 在类中 DefaultChannelConfigpublic EpollDatagramChannelConfig setAutoRead(boolean autoRead)
ChannelConfigChannelHandlerContext.read() will be invoked automatically so that a user application doesn't
need to call it at all. The default value is true.setAutoRead 在接口中 ChannelConfigsetAutoRead 在接口中 DatagramChannelConfigsetAutoRead 在类中 EpollChannelConfigpublic EpollDatagramChannelConfig setRecvByteBufAllocator(RecvByteBufAllocator allocator)
ChannelConfigRecvByteBufAllocator which is used for the channel to allocate receive buffers.setRecvByteBufAllocator 在接口中 ChannelConfigsetRecvByteBufAllocator 在接口中 DatagramChannelConfigsetRecvByteBufAllocator 在类中 EpollChannelConfigpublic EpollDatagramChannelConfig setWriteSpinCount(int writeSpinCount)
ChannelConfigWritableByteChannel.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 在接口中 ChannelConfigsetWriteSpinCount 在接口中 DatagramChannelConfigsetWriteSpinCount 在类中 EpollChannelConfigpublic EpollDatagramChannelConfig setAllocator(ByteBufAllocator allocator)
ChannelConfigByteBufAllocator which is used for the channel
to allocate buffers.setAllocator 在接口中 ChannelConfigsetAllocator 在接口中 DatagramChannelConfigsetAllocator 在类中 EpollChannelConfigpublic EpollDatagramChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis)
ChannelConfigChannel does not support connect operation, this property is not
used at all, and therefore will be ignored.setConnectTimeoutMillis 在接口中 ChannelConfigsetConnectTimeoutMillis 在接口中 DatagramChannelConfigsetConnectTimeoutMillis 在类中 EpollChannelConfigconnectTimeoutMillis - the connect timeout in milliseconds.
0 to disable.@Deprecated public EpollDatagramChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead)
DefaultChannelConfigsetMaxMessagesPerRead 在接口中 ChannelConfigsetMaxMessagesPerRead 在接口中 DatagramChannelConfigsetMaxMessagesPerRead 在类中 EpollChannelConfigpublic int getSendBufferSize()
DatagramChannelConfigStandardSocketOptions.SO_SNDBUF option.getSendBufferSize 在接口中 DatagramChannelConfigpublic EpollDatagramChannelConfig setSendBufferSize(int sendBufferSize)
DatagramChannelConfigStandardSocketOptions.SO_SNDBUF option.setSendBufferSize 在接口中 DatagramChannelConfigpublic int getReceiveBufferSize()
DatagramChannelConfigStandardSocketOptions.SO_RCVBUF option.getReceiveBufferSize 在接口中 DatagramChannelConfigpublic EpollDatagramChannelConfig setReceiveBufferSize(int receiveBufferSize)
DatagramChannelConfigStandardSocketOptions.SO_RCVBUF option.setReceiveBufferSize 在接口中 DatagramChannelConfigpublic int getTrafficClass()
DatagramChannelConfigStandardSocketOptions.IP_TOS option.getTrafficClass 在接口中 DatagramChannelConfigpublic EpollDatagramChannelConfig setTrafficClass(int trafficClass)
DatagramChannelConfigStandardSocketOptions.IP_TOS option.setTrafficClass 在接口中 DatagramChannelConfigpublic boolean isReuseAddress()
DatagramChannelConfigStandardSocketOptions.SO_REUSEADDR option.isReuseAddress 在接口中 DatagramChannelConfigpublic EpollDatagramChannelConfig setReuseAddress(boolean reuseAddress)
DatagramChannelConfigStandardSocketOptions.SO_REUSEADDR option.setReuseAddress 在接口中 DatagramChannelConfigpublic boolean isBroadcast()
DatagramChannelConfigStandardSocketOptions.SO_BROADCAST option.isBroadcast 在接口中 DatagramChannelConfigpublic EpollDatagramChannelConfig setBroadcast(boolean broadcast)
DatagramChannelConfigStandardSocketOptions.SO_BROADCAST option.setBroadcast 在接口中 DatagramChannelConfigpublic boolean isLoopbackModeDisabled()
DatagramChannelConfigStandardSocketOptions.IP_MULTICAST_LOOP option.isLoopbackModeDisabled 在接口中 DatagramChannelConfigtrue if and only if the loopback mode has been disabledpublic DatagramChannelConfig setLoopbackModeDisabled(boolean loopbackModeDisabled)
DatagramChannelConfigStandardSocketOptions.IP_MULTICAST_LOOP option.setLoopbackModeDisabled 在接口中 DatagramChannelConfigloopbackModeDisabled - true if and only if the loopback mode has been disabledpublic int getTimeToLive()
DatagramChannelConfigStandardSocketOptions.IP_MULTICAST_TTL option.getTimeToLive 在接口中 DatagramChannelConfigpublic EpollDatagramChannelConfig setTimeToLive(int ttl)
DatagramChannelConfigStandardSocketOptions.IP_MULTICAST_TTL option.setTimeToLive 在接口中 DatagramChannelConfigpublic java.net.InetAddress getInterface()
DatagramChannelConfiggetInterface 在接口中 DatagramChannelConfigpublic EpollDatagramChannelConfig setInterface(java.net.InetAddress interfaceAddress)
DatagramChannelConfigsetInterface 在接口中 DatagramChannelConfigpublic java.net.NetworkInterface getNetworkInterface()
DatagramChannelConfigStandardSocketOptions.IP_MULTICAST_IF option.getNetworkInterface 在接口中 DatagramChannelConfigpublic EpollDatagramChannelConfig setNetworkInterface(java.net.NetworkInterface networkInterface)
DatagramChannelConfigStandardSocketOptions.IP_MULTICAST_IF option.setNetworkInterface 在接口中 DatagramChannelConfigpublic EpollDatagramChannelConfig setEpollMode(EpollMode mode)
EpollChannelConfigEpollMode used. Default is
EpollMode.EDGE_TRIGGERED. If you want to use DefaultChannelConfig.isAutoRead() false or
DefaultChannelConfig.getMaxMessagesPerRead() and have an accurate behaviour you should use
EpollMode.LEVEL_TRIGGERED.
Be aware this config setting can only be adjusted before the channel was registered.setEpollMode 在类中 EpollChannelConfigpublic boolean isReusePort()
true if the SO_REUSEPORT option is set.public EpollDatagramChannelConfig setReusePort(boolean reusePort)
EpollSocketChannels to the same port and so accept connections with multiple threads.
Be aware this method needs be called before AbstractChannel.bind(java.net.SocketAddress) to have
any affect.public boolean isIpTransparent()
public EpollDatagramChannelConfig setIpTransparent(boolean ipTransparent)
public boolean isFreeBind()
public EpollDatagramChannelConfig setFreeBind(boolean freeBind)
public boolean isIpRecvOrigDestAddr()
public EpollDatagramChannelConfig setIpRecvOrigDestAddr(boolean ipTransparent)
public EpollDatagramChannelConfig setMaxDatagramPayloadSize(int maxDatagramSize)
DatagramPacket size. This will be used to determine if
recvmmsg should be used when reading from the underlying socket. When recvmmsg is used
we may be able to read multiple DatagramPackets with one syscall and so
greatly improve the performance. This number will be used to slice ByteBufs returned by the used
RecvByteBufAllocator. You can use 0 to disable the usage of recvmmsg, any other bigger value
will enable it.public int getMaxDatagramPayloadSize()
DatagramPacket size.public EpollDatagramChannelConfig setUdpGro(boolean gro)
gro - true if UDP_GRO should be enabled, false otherwise.public boolean isUdpGro()
UDP_GRO is enabled.true if enabled, false otherwise.public EpollDatagramChannelConfig setMaxMessagesPerWrite(int maxMessagesPerWrite)
DefaultChannelConfig