public final class EpollDatagramChannelConfig extends EpollChannelConfig implements DatagramChannelConfig
channel
autoReadCleared, getEpollMode, getMaxBytesPerGatheringWrite, setMaxBytesPerGatheringWrite, socket
getAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMaxMessagesPerWrite, getMessageSizeEstimator, getOptions, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteBufferWaterMark, getWriteSpinCount, isAutoClose, isAutoRead, setOptions, validate
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMessageSizeEstimator, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteBufferWaterMark, getWriteSpinCount, isAutoClose, isAutoRead, setOptions
public Map<ChannelOption<?>,Object> getOptions()
ChannelConfig
ChannelOption
's.getOptions
in interface ChannelConfig
getOptions
in class EpollChannelConfig
public <T> T getOption(ChannelOption<T> option)
ChannelConfig
ChannelOption
getOption
in interface ChannelConfig
getOption
in class EpollChannelConfig
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 EpollChannelConfig
true
if and only if the property has been setpublic EpollDatagramChannelConfig setMessageSizeEstimator(MessageSizeEstimator estimator)
ChannelConfig
MessageSizeEstimator
which is used for the channel
to detect the size of a message.setMessageSizeEstimator
in interface ChannelConfig
setMessageSizeEstimator
in interface DatagramChannelConfig
setMessageSizeEstimator
in class 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
in interface ChannelConfig
setWriteBufferLowWaterMark
in class 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
.
setWriteBufferHighWaterMark
in interface ChannelConfig
setWriteBufferHighWaterMark
in class EpollChannelConfig
public EpollDatagramChannelConfig setWriteBufferWaterMark(WriteBufferWaterMark writeBufferWaterMark)
ChannelConfig
WriteBufferWaterMark
which is used for setting the high and low
water mark of the write buffer.setWriteBufferWaterMark
in interface ChannelConfig
setWriteBufferWaterMark
in interface DatagramChannelConfig
setWriteBufferWaterMark
in class EpollChannelConfig
public EpollDatagramChannelConfig setAutoClose(boolean autoClose)
ChannelConfig
Channel
should be closed automatically and immediately on write failure.
The default is true
.setAutoClose
in interface ChannelConfig
setAutoClose
in interface DatagramChannelConfig
setAutoClose
in class DefaultChannelConfig
public EpollDatagramChannelConfig 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 DatagramChannelConfig
setAutoRead
in class EpollChannelConfig
public EpollDatagramChannelConfig setRecvByteBufAllocator(RecvByteBufAllocator allocator)
ChannelConfig
RecvByteBufAllocator
which is used for the channel to allocate receive buffers.setRecvByteBufAllocator
in interface ChannelConfig
setRecvByteBufAllocator
in interface DatagramChannelConfig
setRecvByteBufAllocator
in class EpollChannelConfig
public EpollDatagramChannelConfig 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 DatagramChannelConfig
setWriteSpinCount
in class EpollChannelConfig
public EpollDatagramChannelConfig setAllocator(ByteBufAllocator allocator)
ChannelConfig
ByteBufAllocator
which is used for the channel
to allocate buffers.setAllocator
in interface ChannelConfig
setAllocator
in interface DatagramChannelConfig
setAllocator
in class EpollChannelConfig
public EpollDatagramChannelConfig 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 DatagramChannelConfig
setConnectTimeoutMillis
in class EpollChannelConfig
connectTimeoutMillis
- the connect timeout in milliseconds.
0
to disable.@Deprecated public EpollDatagramChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead)
DefaultChannelConfig
setMaxMessagesPerRead
in interface ChannelConfig
setMaxMessagesPerRead
in interface DatagramChannelConfig
setMaxMessagesPerRead
in class EpollChannelConfig
public int getSendBufferSize()
DatagramChannelConfig
StandardSocketOptions.SO_SNDBUF
option.getSendBufferSize
in interface DatagramChannelConfig
public EpollDatagramChannelConfig setSendBufferSize(int sendBufferSize)
DatagramChannelConfig
StandardSocketOptions.SO_SNDBUF
option.setSendBufferSize
in interface DatagramChannelConfig
public int getReceiveBufferSize()
DatagramChannelConfig
StandardSocketOptions.SO_RCVBUF
option.getReceiveBufferSize
in interface DatagramChannelConfig
public EpollDatagramChannelConfig setReceiveBufferSize(int receiveBufferSize)
DatagramChannelConfig
StandardSocketOptions.SO_RCVBUF
option.setReceiveBufferSize
in interface DatagramChannelConfig
public int getTrafficClass()
DatagramChannelConfig
StandardSocketOptions.IP_TOS
option.getTrafficClass
in interface DatagramChannelConfig
public EpollDatagramChannelConfig setTrafficClass(int trafficClass)
DatagramChannelConfig
StandardSocketOptions.IP_TOS
option.setTrafficClass
in interface DatagramChannelConfig
public boolean isReuseAddress()
DatagramChannelConfig
StandardSocketOptions.SO_REUSEADDR
option.isReuseAddress
in interface DatagramChannelConfig
public EpollDatagramChannelConfig setReuseAddress(boolean reuseAddress)
DatagramChannelConfig
StandardSocketOptions.SO_REUSEADDR
option.setReuseAddress
in interface DatagramChannelConfig
public boolean isBroadcast()
DatagramChannelConfig
StandardSocketOptions.SO_BROADCAST
option.isBroadcast
in interface DatagramChannelConfig
public EpollDatagramChannelConfig setBroadcast(boolean broadcast)
DatagramChannelConfig
StandardSocketOptions.SO_BROADCAST
option.setBroadcast
in interface DatagramChannelConfig
public boolean isLoopbackModeDisabled()
DatagramChannelConfig
StandardSocketOptions.IP_MULTICAST_LOOP
option.isLoopbackModeDisabled
in interface DatagramChannelConfig
true
if and only if the loopback mode has been disabledpublic DatagramChannelConfig setLoopbackModeDisabled(boolean loopbackModeDisabled)
DatagramChannelConfig
StandardSocketOptions.IP_MULTICAST_LOOP
option.setLoopbackModeDisabled
in interface DatagramChannelConfig
loopbackModeDisabled
- true
if and only if the loopback mode has been disabledpublic int getTimeToLive()
DatagramChannelConfig
StandardSocketOptions.IP_MULTICAST_TTL
option.getTimeToLive
in interface DatagramChannelConfig
public EpollDatagramChannelConfig setTimeToLive(int ttl)
DatagramChannelConfig
StandardSocketOptions.IP_MULTICAST_TTL
option.setTimeToLive
in interface DatagramChannelConfig
public InetAddress getInterface()
DatagramChannelConfig
getInterface
in interface DatagramChannelConfig
public EpollDatagramChannelConfig setInterface(InetAddress interfaceAddress)
DatagramChannelConfig
setInterface
in interface DatagramChannelConfig
public NetworkInterface getNetworkInterface()
DatagramChannelConfig
StandardSocketOptions.IP_MULTICAST_IF
option.getNetworkInterface
in interface DatagramChannelConfig
public EpollDatagramChannelConfig setNetworkInterface(NetworkInterface networkInterface)
DatagramChannelConfig
StandardSocketOptions.IP_MULTICAST_IF
option.setNetworkInterface
in interface DatagramChannelConfig
public EpollDatagramChannelConfig setEpollMode(EpollMode mode)
EpollChannelConfig
EpollMode
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
in class EpollChannelConfig
public boolean isReusePort()
true
if the SO_REUSEPORT option is set.public EpollDatagramChannelConfig setReusePort(boolean reusePort)
EpollSocketChannel
s 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 DatagramPacket
s with one syscall and so
greatly improve the performance. This number will be used to slice ByteBuf
s 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
setMaxMessagesPerWrite
in class DefaultChannelConfig
Copyright © 2008–2024 The Netty Project. All rights reserved.