Class ChannelEndPoint

    • Constructor Detail

      • ChannelEndPoint

        public ChannelEndPoint​(java.nio.channels.SocketChannel channel,
                               ManagedSelector selector,
                               java.nio.channels.SelectionKey key,
                               Scheduler scheduler)
    • Method Detail

      • getLocalAddress

        public java.net.InetSocketAddress getLocalAddress()
        Specified by:
        getLocalAddress in interface EndPoint
        Returns:
        The local Inet address to which this EndPoint is bound, or null if this EndPoint does not represent a network connection.
      • getRemoteAddress

        public java.net.InetSocketAddress getRemoteAddress()
        Specified by:
        getRemoteAddress in interface EndPoint
        Returns:
        The remote Inet address to which this EndPoint is bound, or null if this EndPoint does not represent a network connection.
      • isOpen

        public boolean isOpen()
        Description copied from class: IdleTimeout
        This abstract method should be called to check if idle timeouts should still be checked.
        Specified by:
        isOpen in interface EndPoint
        Overrides:
        isOpen in class AbstractEndPoint
        Returns:
        True if the entity monitored should still be checked for idle timeouts
      • doClose

        public void doClose()
      • fill

        public int fill​(java.nio.ByteBuffer buffer)
                 throws java.io.IOException
        Description copied from interface: EndPoint
        Fill the passed buffer with data from this endpoint. The bytes are appended to any data already in the buffer by writing from the buffers limit up to it's capacity. The limit is updated to include the filled bytes.
        Specified by:
        fill in interface EndPoint
        Parameters:
        buffer - The buffer to fill. The position and limit are modified during the fill. After the operation, the position is unchanged and the limit is increased to reflect the new data filled.
        Returns:
        an int value indicating the number of bytes filled or -1 if EOF is read or the input is shutdown.
        Throws:
        java.io.IOException - if the endpoint is closed.
      • flush

        public boolean flush​(java.nio.ByteBuffer... buffers)
                      throws java.io.IOException
        Description copied from interface: EndPoint
        Flush data from the passed header/buffer to this endpoint. As many bytes as can be consumed are taken from the header/buffer position up until the buffer limit. The header/buffers position is updated to indicate how many bytes have been consumed.
        Specified by:
        flush in interface EndPoint
        Parameters:
        buffers - the buffers to flush
        Returns:
        True IFF all the buffers have been consumed and the endpoint has flushed the data to its destination (ie is not buffering any data).
        Throws:
        java.io.IOException - If the endpoint is closed or output is shutdown.
      • getChannel

        public java.nio.channels.SocketChannel getChannel()
      • getTransport

        public java.lang.Object getTransport()
        Specified by:
        getTransport in interface EndPoint
        Returns:
        The underlying transport object (socket, channel, etc.)
      • replaceKey

        public void replaceKey​(java.nio.channels.SelectionKey newKey)
        Description copied from interface: ManagedSelector.Selectable
        Callback method invoked when the SelectionKey is replaced because the channel has been moved to a new selector.
        Specified by:
        replaceKey in interface ManagedSelector.Selectable
        Parameters:
        newKey - the new SelectionKey