Package io.netty.channel.epoll
Class EpollDatagramChannel
- java.lang.Object
-
- io.netty.util.DefaultAttributeMap
-
- io.netty.channel.AbstractChannel
-
- io.netty.channel.epoll.EpollDatagramChannel
-
- All Implemented Interfaces:
io.netty.channel.Channel,io.netty.channel.ChannelOutboundInvoker,io.netty.channel.socket.DatagramChannel,io.netty.channel.unix.UnixChannel,io.netty.util.AttributeMap,Comparable<io.netty.channel.Channel>
public final class EpollDatagramChannel extends io.netty.channel.AbstractChannel implements io.netty.channel.socket.DatagramChannelDatagramChannelimplementation that uses linux EPOLL Edge-Triggered Mode for maximal performance.
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanactiveprotected LinuxSocketsocket
-
Constructor Summary
Constructors Constructor Description EpollDatagramChannel()Create a new instance which selects theSocketProtocolFamilyto use depending on the Operation Systems default which will be chosen.EpollDatagramChannel(int fd)Create a new instance which selects theSocketProtocolFamilyto use depending on the Operation Systems default which will be chosen.EpollDatagramChannel(io.netty.channel.socket.InternetProtocolFamily family)Deprecated.EpollDatagramChannel(io.netty.channel.socket.SocketProtocolFamily family)Create a new instance using the givenSocketProtocolFamily.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description io.netty.channel.ChannelFutureblock(InetAddress multicastAddress, InetAddress sourceToBlock)io.netty.channel.ChannelFutureblock(InetAddress multicastAddress, InetAddress sourceToBlock, io.netty.channel.ChannelPromise promise)io.netty.channel.ChannelFutureblock(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress sourceToBlock)io.netty.channel.ChannelFutureblock(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress sourceToBlock, io.netty.channel.ChannelPromise promise)protected static voidcheckResolvable(InetSocketAddress addr)EpollDatagramChannelConfigconfig()protected voiddoBeginRead()protected voiddoBind(SocketAddress localAddress)protected voiddoClose()protected booleandoConnect(SocketAddress remoteAddress, SocketAddress localAddress)Connect to the remote peerprotected voiddoDeregister()protected voiddoDisconnect()protected intdoReadBytes(io.netty.buffer.ByteBuf byteBuf)Read bytes into the givenByteBufand return the amount.protected voiddoRegister(io.netty.channel.ChannelPromise promise)protected voiddoWrite(io.netty.channel.ChannelOutboundBuffer in)protected intdoWriteBytes(io.netty.channel.ChannelOutboundBuffer in, io.netty.buffer.ByteBuf buf)io.netty.channel.unix.FileDescriptorfd()protected ObjectfilterOutboundMessage(Object msg)booleanisActive()protected booleanisCompatible(io.netty.channel.EventLoop loop)booleanisConnected()booleanisOpen()static booleanisSegmentedDatagramPacketSupported()ReturnstrueifSegmentedDatagramPacketis supported natively.io.netty.channel.ChannelFuturejoinGroup(InetAddress multicastAddress)io.netty.channel.ChannelFuturejoinGroup(InetAddress multicastAddress, io.netty.channel.ChannelPromise promise)io.netty.channel.ChannelFuturejoinGroup(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress source)io.netty.channel.ChannelFuturejoinGroup(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress source, io.netty.channel.ChannelPromise promise)io.netty.channel.ChannelFuturejoinGroup(InetSocketAddress multicastAddress, NetworkInterface networkInterface)io.netty.channel.ChannelFuturejoinGroup(InetSocketAddress multicastAddress, NetworkInterface networkInterface, io.netty.channel.ChannelPromise promise)io.netty.channel.ChannelFutureleaveGroup(InetAddress multicastAddress)io.netty.channel.ChannelFutureleaveGroup(InetAddress multicastAddress, io.netty.channel.ChannelPromise promise)io.netty.channel.ChannelFutureleaveGroup(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress source)io.netty.channel.ChannelFutureleaveGroup(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress source, io.netty.channel.ChannelPromise promise)io.netty.channel.ChannelFutureleaveGroup(InetSocketAddress multicastAddress, NetworkInterface networkInterface)io.netty.channel.ChannelFutureleaveGroup(InetSocketAddress multicastAddress, NetworkInterface networkInterface, io.netty.channel.ChannelPromise promise)InetSocketAddresslocalAddress()protected SocketAddresslocalAddress0()io.netty.channel.ChannelMetadatametadata()protected io.netty.buffer.ByteBufnewDirectBuffer(io.netty.buffer.ByteBuf buf)Returns an off-heap copy of the specifiedByteBuf, and releases the original one.protected io.netty.buffer.ByteBufnewDirectBuffer(Object holder, io.netty.buffer.ByteBuf buf)Returns an off-heap copy of the specifiedByteBuf, and releases the specified holder.protected io.netty.channel.epoll.AbstractEpollChannel.AbstractEpollUnsafenewUnsafe()protected io.netty.channel.IoRegistrationregistration()InetSocketAddressremoteAddress()protected SocketAddressremoteAddress0()protected voidsetFlag(int flag)-
Methods inherited from class io.netty.channel.AbstractChannel
closeFuture, compareTo, doRegister, doShutdownOutput, equals, eventLoop, hashCode, id, invalidateLocalAddress, invalidateRemoteAddress, isRegistered, maxMessagesPerWrite, newChannelPipeline, newId, parent, pipeline, toString, unsafe, validateFileRegion, voidPromise
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.netty.channel.Channel
alloc, bind, bind, bytesBeforeUnwritable, bytesBeforeWritable, close, close, closeFuture, connect, connect, connect, connect, deregister, deregister, disconnect, disconnect, eventLoop, flush, getOption, id, isOpen, isRegistered, isWritable, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture, parent, pipeline, read, setOption, unsafe, voidPromise, write, write, writeAndFlush, writeAndFlush
-
Methods inherited from interface java.lang.Comparable
compareTo
-
-
-
-
Field Detail
-
socket
protected final LinuxSocket socket
-
active
protected volatile boolean active
-
-
Constructor Detail
-
EpollDatagramChannel
public EpollDatagramChannel()
Create a new instance which selects theSocketProtocolFamilyto use depending on the Operation Systems default which will be chosen.
-
EpollDatagramChannel
@Deprecated public EpollDatagramChannel(io.netty.channel.socket.InternetProtocolFamily family)
Deprecated.Create a new instance using the givenInternetProtocolFamily. Ifnullis used it will depend on the Operation Systems default which will be chosen.
-
EpollDatagramChannel
public EpollDatagramChannel(io.netty.channel.socket.SocketProtocolFamily family)
Create a new instance using the givenSocketProtocolFamily. Ifnullis used it will depend on the Operation Systems default which will be chosen.
-
EpollDatagramChannel
public EpollDatagramChannel(int fd)
Create a new instance which selects theSocketProtocolFamilyto use depending on the Operation Systems default which will be chosen.
-
-
Method Detail
-
isSegmentedDatagramPacketSupported
public static boolean isSegmentedDatagramPacketSupported()
ReturnstrueifSegmentedDatagramPacketis supported natively.- Returns:
trueif supported,falseotherwise.
-
remoteAddress
public InetSocketAddress remoteAddress()
- Specified by:
remoteAddressin interfaceio.netty.channel.Channel- Specified by:
remoteAddressin interfaceio.netty.channel.socket.DatagramChannel- Overrides:
remoteAddressin classio.netty.channel.AbstractChannel
-
localAddress
public InetSocketAddress localAddress()
- Specified by:
localAddressin interfaceio.netty.channel.Channel- Specified by:
localAddressin interfaceio.netty.channel.socket.DatagramChannel- Overrides:
localAddressin classio.netty.channel.AbstractChannel
-
metadata
public io.netty.channel.ChannelMetadata metadata()
- Specified by:
metadatain interfaceio.netty.channel.Channel
-
isActive
public boolean isActive()
- Specified by:
isActivein interfaceio.netty.channel.Channel
-
isConnected
public boolean isConnected()
- Specified by:
isConnectedin interfaceio.netty.channel.socket.DatagramChannel
-
joinGroup
public io.netty.channel.ChannelFuture joinGroup(InetAddress multicastAddress)
- Specified by:
joinGroupin interfaceio.netty.channel.socket.DatagramChannel
-
joinGroup
public io.netty.channel.ChannelFuture joinGroup(InetAddress multicastAddress, io.netty.channel.ChannelPromise promise)
- Specified by:
joinGroupin interfaceio.netty.channel.socket.DatagramChannel
-
joinGroup
public io.netty.channel.ChannelFuture joinGroup(InetSocketAddress multicastAddress, NetworkInterface networkInterface)
- Specified by:
joinGroupin interfaceio.netty.channel.socket.DatagramChannel
-
joinGroup
public io.netty.channel.ChannelFuture joinGroup(InetSocketAddress multicastAddress, NetworkInterface networkInterface, io.netty.channel.ChannelPromise promise)
- Specified by:
joinGroupin interfaceio.netty.channel.socket.DatagramChannel
-
joinGroup
public io.netty.channel.ChannelFuture joinGroup(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress source)
- Specified by:
joinGroupin interfaceio.netty.channel.socket.DatagramChannel
-
joinGroup
public io.netty.channel.ChannelFuture joinGroup(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress source, io.netty.channel.ChannelPromise promise)
- Specified by:
joinGroupin interfaceio.netty.channel.socket.DatagramChannel
-
leaveGroup
public io.netty.channel.ChannelFuture leaveGroup(InetAddress multicastAddress)
- Specified by:
leaveGroupin interfaceio.netty.channel.socket.DatagramChannel
-
leaveGroup
public io.netty.channel.ChannelFuture leaveGroup(InetAddress multicastAddress, io.netty.channel.ChannelPromise promise)
- Specified by:
leaveGroupin interfaceio.netty.channel.socket.DatagramChannel
-
leaveGroup
public io.netty.channel.ChannelFuture leaveGroup(InetSocketAddress multicastAddress, NetworkInterface networkInterface)
- Specified by:
leaveGroupin interfaceio.netty.channel.socket.DatagramChannel
-
leaveGroup
public io.netty.channel.ChannelFuture leaveGroup(InetSocketAddress multicastAddress, NetworkInterface networkInterface, io.netty.channel.ChannelPromise promise)
- Specified by:
leaveGroupin interfaceio.netty.channel.socket.DatagramChannel
-
leaveGroup
public io.netty.channel.ChannelFuture leaveGroup(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress source)
- Specified by:
leaveGroupin interfaceio.netty.channel.socket.DatagramChannel
-
leaveGroup
public io.netty.channel.ChannelFuture leaveGroup(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress source, io.netty.channel.ChannelPromise promise)
- Specified by:
leaveGroupin interfaceio.netty.channel.socket.DatagramChannel
-
block
public io.netty.channel.ChannelFuture block(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress sourceToBlock)
- Specified by:
blockin interfaceio.netty.channel.socket.DatagramChannel
-
block
public io.netty.channel.ChannelFuture block(InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress sourceToBlock, io.netty.channel.ChannelPromise promise)
- Specified by:
blockin interfaceio.netty.channel.socket.DatagramChannel
-
block
public io.netty.channel.ChannelFuture block(InetAddress multicastAddress, InetAddress sourceToBlock)
- Specified by:
blockin interfaceio.netty.channel.socket.DatagramChannel
-
block
public io.netty.channel.ChannelFuture block(InetAddress multicastAddress, InetAddress sourceToBlock, io.netty.channel.ChannelPromise promise)
- Specified by:
blockin interfaceio.netty.channel.socket.DatagramChannel
-
newUnsafe
protected io.netty.channel.epoll.AbstractEpollChannel.AbstractEpollUnsafe newUnsafe()
-
doBind
protected void doBind(SocketAddress localAddress) throws Exception
- Throws:
Exception
-
doWrite
protected void doWrite(io.netty.channel.ChannelOutboundBuffer in) throws Exception- Specified by:
doWritein classio.netty.channel.AbstractChannel- Throws:
Exception
-
filterOutboundMessage
protected Object filterOutboundMessage(Object msg)
- Overrides:
filterOutboundMessagein classio.netty.channel.AbstractChannel
-
config
public EpollDatagramChannelConfig config()
- Specified by:
configin interfaceio.netty.channel.Channel- Specified by:
configin interfaceio.netty.channel.socket.DatagramChannel
-
doConnect
protected boolean doConnect(SocketAddress remoteAddress, SocketAddress localAddress) throws Exception
Connect to the remote peer- Throws:
Exception
-
setFlag
protected void setFlag(int flag) throws IOException- Throws:
IOException
-
registration
protected final io.netty.channel.IoRegistration registration()
-
fd
public final io.netty.channel.unix.FileDescriptor fd()
- Specified by:
fdin interfaceio.netty.channel.unix.UnixChannel
-
isOpen
public boolean isOpen()
- Specified by:
isOpenin interfaceio.netty.channel.Channel
-
doDeregister
protected void doDeregister() throws Exception- Overrides:
doDeregisterin classio.netty.channel.AbstractChannel- Throws:
Exception
-
isCompatible
protected boolean isCompatible(io.netty.channel.EventLoop loop)
- Specified by:
isCompatiblein classio.netty.channel.AbstractChannel
-
doBeginRead
protected void doBeginRead() throws Exception- Specified by:
doBeginReadin classio.netty.channel.AbstractChannel- Throws:
Exception
-
doRegister
protected void doRegister(io.netty.channel.ChannelPromise promise)
- Overrides:
doRegisterin classio.netty.channel.AbstractChannel
-
newDirectBuffer
protected final io.netty.buffer.ByteBuf newDirectBuffer(io.netty.buffer.ByteBuf buf)
Returns an off-heap copy of the specifiedByteBuf, and releases the original one.
-
newDirectBuffer
protected final io.netty.buffer.ByteBuf newDirectBuffer(Object holder, io.netty.buffer.ByteBuf buf)
Returns an off-heap copy of the specifiedByteBuf, and releases the specified holder. The caller must ensure that the holder releases the originalByteBufwhen the holder is released by this method.
-
checkResolvable
protected static void checkResolvable(InetSocketAddress addr)
-
doReadBytes
protected final int doReadBytes(io.netty.buffer.ByteBuf byteBuf) throws ExceptionRead bytes into the givenByteBufand return the amount.- Throws:
Exception
-
doWriteBytes
protected final int doWriteBytes(io.netty.channel.ChannelOutboundBuffer in, io.netty.buffer.ByteBuf buf) throws Exception- Throws:
Exception
-
localAddress0
protected SocketAddress localAddress0()
- Specified by:
localAddress0in classio.netty.channel.AbstractChannel
-
remoteAddress0
protected SocketAddress remoteAddress0()
- Specified by:
remoteAddress0in classio.netty.channel.AbstractChannel
-
-