Package io.netty.channel.epoll
Class EpollSocketChannel
- java.lang.Object
-
- io.netty.util.DefaultAttributeMap
-
- io.netty.channel.AbstractChannel
-
- io.netty.channel.epoll.AbstractEpollStreamChannel
-
- io.netty.channel.epoll.EpollSocketChannel
-
- All Implemented Interfaces:
io.netty.channel.Channel,io.netty.channel.ChannelOutboundInvoker,io.netty.channel.socket.DuplexChannel,io.netty.channel.socket.SocketChannel,io.netty.channel.unix.UnixChannel,io.netty.util.AttributeMap,Comparable<io.netty.channel.Channel>
public final class EpollSocketChannel extends AbstractEpollStreamChannel implements io.netty.channel.socket.SocketChannel
SocketChannelimplementation that uses linux EPOLL Edge-Triggered Mode for maximal performance.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.netty.channel.epoll.AbstractEpollStreamChannel
AbstractEpollStreamChannel.SpliceInTask
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanactiveprotected LinuxSocketsocket
-
Constructor Summary
Constructors Constructor Description EpollSocketChannel()EpollSocketChannel(int fd)EpollSocketChannel(io.netty.channel.socket.InternetProtocolFamily protocol)Deprecated.EpollSocketChannel(io.netty.channel.socket.SocketProtocolFamily protocol)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static voidcheckResolvable(InetSocketAddress addr)EpollSocketChannelConfigconfig()protected voiddoBeginRead()protected voiddoBind(SocketAddress local)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 intdoWriteBytes(io.netty.channel.ChannelOutboundBuffer in, io.netty.buffer.ByteBuf buf)io.netty.channel.unix.FileDescriptorfd()booleanisActive()protected booleanisCompatible(io.netty.channel.EventLoop loop)booleanisOpen()InetSocketAddresslocalAddress()protected SocketAddresslocalAddress0()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()io.netty.channel.socket.ServerSocketChannelparent()protected io.netty.channel.IoRegistrationregistration()InetSocketAddressremoteAddress()protected SocketAddressremoteAddress0()protected voidsetFlag(int flag)EpollTcpInfotcpInfo()Returns theTCP_INFOfor the current socket.EpollTcpInfotcpInfo(EpollTcpInfo info)Updates and returns theTCP_INFOfor the current socket.-
Methods inherited from class io.netty.channel.epoll.AbstractEpollStreamChannel
doClose, doShutdownOutput, doWrite, doWriteSingle, filterOutboundMessage, isInputShutdown, isOutputShutdown, isShutdown, metadata, shutdown, shutdown, shutdownInput, shutdownInput, shutdownOutput, shutdownOutput, spliceTo, spliceTo, spliceTo, spliceTo
-
Methods inherited from class io.netty.channel.AbstractChannel
closeFuture, compareTo, doRegister, equals, eventLoop, hashCode, id, invalidateLocalAddress, invalidateRemoteAddress, isRegistered, maxMessagesPerWrite, newChannelPipeline, newId, 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, isActive, isOpen, isRegistered, isWritable, metadata, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture, 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
-
EpollSocketChannel
public EpollSocketChannel()
-
EpollSocketChannel
@Deprecated public EpollSocketChannel(io.netty.channel.socket.InternetProtocolFamily protocol)
Deprecated.
-
EpollSocketChannel
public EpollSocketChannel(io.netty.channel.socket.SocketProtocolFamily protocol)
-
EpollSocketChannel
public EpollSocketChannel(int fd)
-
-
Method Detail
-
tcpInfo
public EpollTcpInfo tcpInfo()
Returns theTCP_INFOfor the current socket. See man 7 tcp.
-
tcpInfo
public EpollTcpInfo tcpInfo(EpollTcpInfo info)
Updates and returns theTCP_INFOfor the current socket. See man 7 tcp.
-
remoteAddress
public InetSocketAddress remoteAddress()
- Specified by:
remoteAddressin interfaceio.netty.channel.Channel- Specified by:
remoteAddressin interfaceio.netty.channel.socket.SocketChannel- Overrides:
remoteAddressin classio.netty.channel.AbstractChannel
-
localAddress
public InetSocketAddress localAddress()
- Specified by:
localAddressin interfaceio.netty.channel.Channel- Specified by:
localAddressin interfaceio.netty.channel.socket.SocketChannel- Overrides:
localAddressin classio.netty.channel.AbstractChannel
-
config
public EpollSocketChannelConfig config()
- Specified by:
configin interfaceio.netty.channel.Channel- Specified by:
configin interfaceio.netty.channel.socket.SocketChannel
-
parent
public io.netty.channel.socket.ServerSocketChannel parent()
- Specified by:
parentin interfaceio.netty.channel.Channel- Specified by:
parentin interfaceio.netty.channel.socket.SocketChannel- Overrides:
parentin classio.netty.channel.AbstractChannel
-
newUnsafe
protected io.netty.channel.epoll.AbstractEpollChannel.AbstractEpollUnsafe newUnsafe()
- Overrides:
newUnsafein classAbstractEpollStreamChannel
-
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
-
isActive
public boolean isActive()
- Specified by:
isActivein interfaceio.netty.channel.Channel
-
doDisconnect
protected void doDisconnect() throws Exception- Specified by:
doDisconnectin classio.netty.channel.AbstractChannel- Throws:
Exception
-
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
-
doBind
protected void doBind(SocketAddress local) throws Exception
- Specified by:
doBindin classio.netty.channel.AbstractChannel- Throws:
Exception
-
doConnect
protected boolean doConnect(SocketAddress remoteAddress, SocketAddress localAddress) throws Exception
Connect to the remote peer- Throws:
Exception
-
localAddress0
protected SocketAddress localAddress0()
- Specified by:
localAddress0in classio.netty.channel.AbstractChannel
-
remoteAddress0
protected SocketAddress remoteAddress0()
- Specified by:
remoteAddress0in classio.netty.channel.AbstractChannel
-
-