DatagramChannel implementation that uses linux EPOLL Edge-Triggered Mode for
maximal performance.
DatagramChannel and UnixChannel,
EpollDatagramChannel allows the following options in the option map:
| Modifier and Type | Field and Description |
|---|---|
| private volatile boolean | |
| private volatile boolean | |
| private static final String | |
| private static final String | |
| private volatile boolean | |
| private volatile boolean | |
| private static final InternalLogger | |
| private volatile int | |
| private static final Object | |
| private volatile boolean | |
| private static final Set | |
| private static final Set |
| Access | Constructor and Description |
|---|---|
| public | EpollDatagramChannel(EventLoop eventLoop)
Create a new instance which selects the |
| public | EpollDatagramChannel(EventLoop eventLoop, ProtocolFamily family)
Create a new instance using the given |
| public | EpollDatagramChannel(EventLoop eventLoop, int fd, ProtocolFamily family)
Create a new instance which selects the |
| private |
| Modifier and Type | Method and Description |
|---|---|
| private static void | |
| public Future | block(InetAddress
the multicast group address. multicastAddress, NetworkInterface the interface to use. networkInterface, InetAddress the source address. sourceToBlock)Implements io. Future once the operation completes.
|
| public Future | block(InetAddress
the multicast group address. multicastAddress, InetAddress the source address. sourceToBlock)Implements io. Future once
the operation completes.
|
| private NativeDatagramPacketArray | |
| private AbstractEpollChannel. | connectedRead(AbstractChannel<UnixChannel, SocketAddress, SocketAddress>.
|
| protected void | doBind(SocketAddress
the localAddress)SocketAddress to bound to.Overrides io. Channel to the SocketAddress
|
| protected void | |
| protected boolean | doConnect(SocketAddress
the address of the remote peer. remoteAddress, SocketAddress the local address of this channel. localAddress, Buffer the initial data that is written during connect
(if initialData)ChannelOption#TCP_FASTOPEN_CONNECT is supported and configured).
If data is written care must be taken to update the
reader offset.Overrides io. |
| protected void | doDisconnect()
Overrides io. Channel from its remote peer
|
| private AbstractEpollChannel. | |
| private AbstractEpollChannel. | |
| protected void | doShutdown(ChannelShutdownDirection
the direction to shut down. direction)Implements abstract io. Channel.
|
| private void | |
| protected void | doWriteNow(AbstractChannel<UnixChannel, SocketAddress, SocketAddress>.
the writeSinkWriteSink that must be completed with the write
progress.
WriteSink#complete(long, long, int, boolean) or
WriteSink#complete(long, Throwable, boolean) must be called
exactly once before this method returns non-exceptional.Implements abstract io. false or there are
no more messages to write.
|
| protected AbstractEpollChannel. | epollInReady(AbstractChannel<UnixChannel, SocketAddress, SocketAddress>.
Implements abstract io. |
| protected Object | filterOutboundMessage(Object
the message to filter / convert. msg)Overrides io. AbstractChannel, so that
the Channel implementation converts the message to another.
|
| private Object | filterOutboundMessage0(Object msg, Class<? extends SocketAddress> recipientClass, String expectedTypes)
|
| pack-priv boolean | |
| protected <T> T | getExtendedOption(ChannelOption<T>
the option)ChannelOption.Overrides io. ChannelOptions.
|
| private int | |
| private NetworkInterface | |
| private int | |
| private int | |
| private int | |
| private int | |
| public boolean | isActive()
Overrides io. Implements io. true if the Channel is active and so connected.
|
| private boolean | |
| public boolean | isConnected()
Implements io. true if the DatagramChannel is connected to the remote peer.
|
| protected boolean | isExtendedOptionSupported(ChannelOption<?>
the option)ChannelOption.Overrides io. ChannelOptions.
|
| private boolean | |
| private boolean | |
| private boolean | |
| private boolean | |
| private static boolean | |
| private boolean | |
| private boolean | |
| public static boolean | Returns: true if supported, false otherwise.Returns |
| public boolean | isShutdown(ChannelShutdownDirection direction)
Implements io. true if the ChannelShutdownDirection of the Channel was shutdown before.
|
| private boolean | |
| public Future | joinGroup(InetAddress
the multicast group address. multicastAddress)Implements io. Future once the operation completes.
|
| public Future | joinGroup(InetAddress
the multicast group address. multicastAddress, NetworkInterface the interface to use. networkInterface, InetAddress the source address (might be source)null).Implements io. Future
once the operation completes.
|
| private void | joinGroup0(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress source, Promise<Void> promise)
|
| public Future | leaveGroup(InetAddress
the multicast group address. multicastAddress)Implements io. Future once the operation completes.
|
| public Future | leaveGroup(InetAddress
the multicast group address. multicastAddress, NetworkInterface the interface to use. networkInterface, InetAddress the source address (might be source)null).Implements io. Future once the operation completes.
|
| private void | leaveGroup0(final InetAddress multicastAddress, final NetworkInterface networkInterface, final InetAddress source, final Promise<Void> promise)
|
| private NetworkInterface | |
| private static void | processPacketList(AbstractChannel<UnixChannel, SocketAddress, SocketAddress>.
|
| private AbstractEpollChannel. | recvmsg(AbstractChannel<UnixChannel, SocketAddress, SocketAddress>.
|
| private static void | |
| private AbstractEpollChannel. | scatteringRead(AbstractChannel<UnixChannel, SocketAddress, SocketAddress>.
|
| private void | |
| private void | |
| protected <T> void | setExtendedOption(ChannelOption<T>
the option, T value)ChannelOption.Overrides io. ChannelOptions.
|
| private void | |
| private void | setIpRecvOrigDestAddr(boolean ipTransparent)
If |
| private void | setIpTransparent(boolean ipTransparent)
If |
| private void | |
| private void | setMaxDatagramPayloadSize(int maxDatagramSize)
Set the maximum |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private static Set | |
| private static Set | |
| private IOException |