Class AbstractEpollStreamChannel

  • All Implemented Interfaces:
    io.netty.channel.Channel, io.netty.channel.ChannelOutboundInvoker, io.netty.channel.socket.DuplexChannel, io.netty.channel.unix.UnixChannel, io.netty.util.AttributeMap, Comparable<io.netty.channel.Channel>
    Direct Known Subclasses:
    EpollDomainSocketChannel, EpollSocketChannel

    public abstract class AbstractEpollStreamChannel
    extends io.netty.channel.AbstractChannel
    implements io.netty.channel.socket.DuplexChannel
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  AbstractEpollStreamChannel.SpliceInTask  
      • Nested classes/interfaces inherited from class io.netty.channel.AbstractChannel

        io.netty.channel.AbstractChannel.AbstractUnsafe
      • Nested classes/interfaces inherited from interface io.netty.channel.Channel

        io.netty.channel.Channel.Unsafe
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean active  
      protected LinuxSocket socket  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      protected static void checkResolvable​(InetSocketAddress addr)  
      abstract EpollChannelConfig config()  
      protected void doBeginRead()  
      protected void doBind​(SocketAddress local)  
      protected void doClose()  
      protected boolean doConnect​(SocketAddress remoteAddress, SocketAddress localAddress)
      Connect to the remote peer
      protected void doDeregister()  
      protected void doDisconnect()  
      protected int doReadBytes​(io.netty.buffer.ByteBuf byteBuf)
      Read bytes into the given ByteBuf and return the amount.
      protected void doRegister​(io.netty.channel.ChannelPromise promise)  
      protected void doShutdownOutput()  
      protected void doWrite​(io.netty.channel.ChannelOutboundBuffer in)  
      protected int doWriteBytes​(io.netty.channel.ChannelOutboundBuffer in, io.netty.buffer.ByteBuf buf)  
      protected int doWriteSingle​(io.netty.channel.ChannelOutboundBuffer in)
      Attempt to write a single object.
      io.netty.channel.unix.FileDescriptor fd()  
      protected Object filterOutboundMessage​(Object msg)  
      boolean isActive()  
      protected boolean isCompatible​(io.netty.channel.EventLoop loop)  
      boolean isInputShutdown()  
      boolean isOpen()  
      boolean isOutputShutdown()  
      boolean isShutdown()  
      protected SocketAddress localAddress0()  
      io.netty.channel.ChannelMetadata metadata()  
      protected io.netty.buffer.ByteBuf newDirectBuffer​(io.netty.buffer.ByteBuf buf)
      Returns an off-heap copy of the specified ByteBuf, and releases the original one.
      protected io.netty.buffer.ByteBuf newDirectBuffer​(Object holder, io.netty.buffer.ByteBuf buf)
      Returns an off-heap copy of the specified ByteBuf, and releases the specified holder.
      protected io.netty.channel.epoll.AbstractEpollChannel.AbstractEpollUnsafe newUnsafe()  
      protected io.netty.channel.IoRegistration registration()  
      protected SocketAddress remoteAddress0()  
      protected void setFlag​(int flag)  
      io.netty.channel.ChannelFuture shutdown()  
      io.netty.channel.ChannelFuture shutdown​(io.netty.channel.ChannelPromise promise)  
      io.netty.channel.ChannelFuture shutdownInput()  
      io.netty.channel.ChannelFuture shutdownInput​(io.netty.channel.ChannelPromise promise)  
      io.netty.channel.ChannelFuture shutdownOutput()  
      io.netty.channel.ChannelFuture shutdownOutput​(io.netty.channel.ChannelPromise promise)  
      io.netty.channel.ChannelFuture spliceTo​(AbstractEpollStreamChannel ch, int len)
      Deprecated.
      Will be removed in the future.
      io.netty.channel.ChannelFuture spliceTo​(AbstractEpollStreamChannel ch, int len, io.netty.channel.ChannelPromise promise)
      Deprecated.
      will be removed in the future.
      io.netty.channel.ChannelFuture spliceTo​(io.netty.channel.unix.FileDescriptor ch, int offset, int len)
      Deprecated.
      Will be removed in the future.
      io.netty.channel.ChannelFuture spliceTo​(io.netty.channel.unix.FileDescriptor ch, int offset, int len, io.netty.channel.ChannelPromise promise)
      Deprecated.
      Will be removed in the future.
      • Methods inherited from class io.netty.channel.AbstractChannel

        closeFuture, compareTo, doRegister, equals, eventLoop, hashCode, id, invalidateLocalAddress, invalidateRemoteAddress, isRegistered, localAddress, maxMessagesPerWrite, newChannelPipeline, newId, parent, pipeline, remoteAddress, toString, unsafe, validateFileRegion, voidPromise
      • Methods inherited from class io.netty.util.DefaultAttributeMap

        attr, hasAttr
      • Methods inherited from interface io.netty.util.AttributeMap

        attr, hasAttr
      • Methods inherited from interface io.netty.channel.Channel

        alloc, bind, bind, bytesBeforeUnwritable, bytesBeforeWritable, close, close, closeFuture, config, connect, connect, connect, connect, deregister, deregister, disconnect, disconnect, eventLoop, flush, getOption, id, isActive, isOpen, isRegistered, isWritable, localAddress, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture, parent, pipeline, read, remoteAddress, setOption, unsafe, voidPromise, write, write, writeAndFlush, writeAndFlush
    • Field Detail

      • active

        protected volatile boolean active
    • Constructor Detail

      • AbstractEpollStreamChannel

        protected AbstractEpollStreamChannel​(io.netty.channel.Channel parent,
                                             int fd)
      • AbstractEpollStreamChannel

        protected AbstractEpollStreamChannel​(int fd)
      • AbstractEpollStreamChannel

        protected AbstractEpollStreamChannel​(io.netty.channel.Channel parent,
                                             LinuxSocket fd,
                                             SocketAddress remote)
      • AbstractEpollStreamChannel

        protected AbstractEpollStreamChannel​(LinuxSocket fd,
                                             boolean active)
    • Method Detail

      • newUnsafe

        protected io.netty.channel.epoll.AbstractEpollChannel.AbstractEpollUnsafe newUnsafe()
      • metadata

        public io.netty.channel.ChannelMetadata metadata()
        Specified by:
        metadata in interface io.netty.channel.Channel
      • doWrite

        protected void doWrite​(io.netty.channel.ChannelOutboundBuffer in)
                        throws Exception
        Specified by:
        doWrite in class io.netty.channel.AbstractChannel
        Throws:
        Exception
      • doWriteSingle

        protected int doWriteSingle​(io.netty.channel.ChannelOutboundBuffer in)
                             throws Exception
        Attempt to write a single object.
        Parameters:
        in - the collection which contains objects to write.
        Returns:
        The value that should be decremented from the write quantum which starts at ChannelConfig.getWriteSpinCount(). The typical use cases are as follows:
        • 0 - if no write was attempted. This is appropriate if an empty ByteBuf (or other empty content) is encountered
        • 1 - if a single call to write data was made to the OS
        • ChannelUtils.WRITE_STATUS_SNDBUF_FULL - if an attempt to write data was made to the OS, but no data was accepted
        Throws:
        Exception - If an I/O error occurs.
      • filterOutboundMessage

        protected Object filterOutboundMessage​(Object msg)
        Overrides:
        filterOutboundMessage in class io.netty.channel.AbstractChannel
      • doShutdownOutput

        protected final void doShutdownOutput()
                                       throws Exception
        Overrides:
        doShutdownOutput in class io.netty.channel.AbstractChannel
        Throws:
        Exception
      • isOutputShutdown

        public boolean isOutputShutdown()
        Specified by:
        isOutputShutdown in interface io.netty.channel.socket.DuplexChannel
      • isInputShutdown

        public boolean isInputShutdown()
        Specified by:
        isInputShutdown in interface io.netty.channel.socket.DuplexChannel
      • isShutdown

        public boolean isShutdown()
        Specified by:
        isShutdown in interface io.netty.channel.socket.DuplexChannel
      • shutdownOutput

        public io.netty.channel.ChannelFuture shutdownOutput()
        Specified by:
        shutdownOutput in interface io.netty.channel.socket.DuplexChannel
      • shutdownOutput

        public io.netty.channel.ChannelFuture shutdownOutput​(io.netty.channel.ChannelPromise promise)
        Specified by:
        shutdownOutput in interface io.netty.channel.socket.DuplexChannel
      • shutdownInput

        public io.netty.channel.ChannelFuture shutdownInput()
        Specified by:
        shutdownInput in interface io.netty.channel.socket.DuplexChannel
      • shutdownInput

        public io.netty.channel.ChannelFuture shutdownInput​(io.netty.channel.ChannelPromise promise)
        Specified by:
        shutdownInput in interface io.netty.channel.socket.DuplexChannel
      • shutdown

        public io.netty.channel.ChannelFuture shutdown()
        Specified by:
        shutdown in interface io.netty.channel.socket.DuplexChannel
      • shutdown

        public io.netty.channel.ChannelFuture shutdown​(io.netty.channel.ChannelPromise promise)
        Specified by:
        shutdown in interface io.netty.channel.socket.DuplexChannel
      • registration

        protected final io.netty.channel.IoRegistration registration()
      • fd

        public final io.netty.channel.unix.FileDescriptor fd()
        Specified by:
        fd in interface io.netty.channel.unix.UnixChannel
      • config

        public abstract EpollChannelConfig config()
        Specified by:
        config in interface io.netty.channel.Channel
      • isActive

        public boolean isActive()
        Specified by:
        isActive in interface io.netty.channel.Channel
      • doDisconnect

        protected void doDisconnect()
                             throws Exception
        Specified by:
        doDisconnect in class io.netty.channel.AbstractChannel
        Throws:
        Exception
      • isOpen

        public boolean isOpen()
        Specified by:
        isOpen in interface io.netty.channel.Channel
      • doDeregister

        protected void doDeregister()
                             throws Exception
        Overrides:
        doDeregister in class io.netty.channel.AbstractChannel
        Throws:
        Exception
      • isCompatible

        protected boolean isCompatible​(io.netty.channel.EventLoop loop)
        Specified by:
        isCompatible in class io.netty.channel.AbstractChannel
      • doBeginRead

        protected void doBeginRead()
                            throws Exception
        Specified by:
        doBeginRead in class io.netty.channel.AbstractChannel
        Throws:
        Exception
      • doRegister

        protected void doRegister​(io.netty.channel.ChannelPromise promise)
        Overrides:
        doRegister in class io.netty.channel.AbstractChannel
      • newDirectBuffer

        protected final io.netty.buffer.ByteBuf newDirectBuffer​(io.netty.buffer.ByteBuf buf)
        Returns an off-heap copy of the specified ByteBuf, 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 specified ByteBuf, and releases the specified holder. The caller must ensure that the holder releases the original ByteBuf when 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 Exception
        Read bytes into the given ByteBuf and 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:
        doBind in class io.netty.channel.AbstractChannel
        Throws:
        Exception
      • localAddress0

        protected SocketAddress localAddress0()
        Specified by:
        localAddress0 in class io.netty.channel.AbstractChannel
      • remoteAddress0

        protected SocketAddress remoteAddress0()
        Specified by:
        remoteAddress0 in class io.netty.channel.AbstractChannel