Class SessionRequestImpl

    • Field Detail

      • remoteAddress

        private final java.net.SocketAddress remoteAddress
      • localAddress

        private final java.net.SocketAddress localAddress
      • attachment

        private final java.lang.Object attachment
      • key

        private volatile java.nio.channels.SelectionKey key
      • connectTimeout

        private volatile int connectTimeout
      • session

        private volatile IOSession session
      • exception

        private volatile java.io.IOException exception
    • Constructor Detail

      • SessionRequestImpl

        public SessionRequestImpl​(java.net.SocketAddress remoteAddress,
                                  java.net.SocketAddress localAddress,
                                  java.lang.Object attachment,
                                  SessionRequestCallback callback)
    • Method Detail

      • getRemoteAddress

        public java.net.SocketAddress getRemoteAddress()
        Description copied from interface: SessionRequest
        Returns socket address of the remote host.
        Specified by:
        getRemoteAddress in interface SessionRequest
        Returns:
        socket address of the remote host
      • getLocalAddress

        public java.net.SocketAddress getLocalAddress()
        Description copied from interface: SessionRequest
        Returns local socket address.
        Specified by:
        getLocalAddress in interface SessionRequest
        Returns:
        local socket address.
      • getAttachment

        public java.lang.Object getAttachment()
        Description copied from interface: SessionRequest
        Returns attachment object will be added to the session's context upon initialization. This object can be used to pass an initial processing state to the protocol handler.
        Specified by:
        getAttachment in interface SessionRequest
        Returns:
        attachment object.
      • isCompleted

        public boolean isCompleted()
        Description copied from interface: SessionRequest
        Determines whether the request has been completed (either successfully or unsuccessfully).
        Specified by:
        isCompleted in interface SessionRequest
        Returns:
        true if the request has been completed, false if still pending.
      • isTerminated

        boolean isTerminated()
      • setKey

        protected void setKey​(java.nio.channels.SelectionKey key)
      • waitFor

        public void waitFor()
                     throws java.lang.InterruptedException
        Description copied from interface: SessionRequest
        Waits for completion of this session request.
        Specified by:
        waitFor in interface SessionRequest
        Throws:
        java.lang.InterruptedException - in case the execution process was interrupted.
      • getSession

        public IOSession getSession()
        Description copied from interface: SessionRequest
        Returns IOSession instance created as a result of this request or null if the request is still pending.
        Specified by:
        getSession in interface SessionRequest
        Returns:
        I/O session or null if the request is still pending.
      • getException

        public java.io.IOException getException()
        Description copied from interface: SessionRequest
        Returns IOException instance if the request could not be successfully executed due to an I/O error or null if no error occurred to this point.
        Specified by:
        getException in interface SessionRequest
        Returns:
        I/O exception or null if no error occurred to this point.
      • completed

        public void completed​(IOSession session)
      • failed

        public void failed​(java.io.IOException exception)
      • timeout

        public void timeout()
      • getConnectTimeout

        public int getConnectTimeout()
        Description copied from interface: SessionRequest
        Returns connect timeout value in milliseconds.
        Specified by:
        getConnectTimeout in interface SessionRequest
        Returns:
        connect timeout value in milliseconds.
      • setConnectTimeout

        public void setConnectTimeout​(int timeout)
        Description copied from interface: SessionRequest
        Sets connect timeout value in milliseconds.
        Specified by:
        setConnectTimeout in interface SessionRequest
        Parameters:
        timeout - connect timeout value in milliseconds.
      • cancel

        public void cancel()
        Description copied from interface: SessionRequest
        Cancels the request. Invocation of this method will set the status of the request to completed and will unblock threads blocked in the {SessionRequest.waitFor()} method.
        Specified by:
        cancel in interface SessionRequest