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
    • 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