Class AbstractWebSocketConnection

    • Method Detail

      • close

        public void close​(java.lang.Throwable cause)
        Close the connection based on the throwable
        Specified by:
        close in interface LogicalConnection
        Parameters:
        cause - the cause
      • canWriteWebSocketFrames

        public boolean canWriteWebSocketFrames()
        Description copied from interface: LogicalConnection
        Test if Connection State allows for writing frames.
        Specified by:
        canWriteWebSocketFrames in interface LogicalConnection
        Returns:
        true if able to write, false otherwise.
      • canReadWebSocketFrames

        public boolean canReadWebSocketFrames()
        Description copied from interface: LogicalConnection
        Test if Connection State allows for reading of frames.
        Specified by:
        canReadWebSocketFrames in interface LogicalConnection
        Returns:
        true if able to read, false otherwise.
      • toStateString

        public java.lang.String toStateString()
        Description copied from interface: LogicalConnection
        Get the Connection State as a String
        Specified by:
        toStateString in interface LogicalConnection
        Returns:
        the Connection State string
      • opening

        public boolean opening()
        Description copied from interface: LogicalConnection
        Set the state to upgrade/opening handshake has completed.
        Specified by:
        opening in interface LogicalConnection
        Returns:
        true if state is OPENING, false otherwise
      • opened

        public boolean opened()
        Description copied from interface: LogicalConnection
        Set the state to opened (the application onOpen() method has been called successfully).

        Reads from network begin here.

        Specified by:
        opened in interface LogicalConnection
        Returns:
        true if state is OPENED, false otherwise
      • remoteClose

        public void remoteClose​(CloseInfo close)
        Description copied from interface: LogicalConnection
        Report that the Remote Endpoint CLOSE Frame has been received
        Specified by:
        remoteClose in interface LogicalConnection
        Parameters:
        close - the close frame details
      • close

        public void close()
        Jetty Connection Close
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface Connection
        Overrides:
        close in class AbstractConnection
      • getExtensions

        public java.util.List<ExtensionConfig> getExtensions()
        Get the list of extensions in use.

        This list is negotiated during the WebSocket Upgrade Request/Response handshake.

        Returns:
        the list of negotiated extensions in use.
      • getGenerator

        public Generator getGenerator()
      • getId

        public java.lang.String getId()
        Description copied from interface: LogicalConnection
        Get Unique ID for the Connection
        Specified by:
        getId in interface LogicalConnection
        Returns:
        the unique ID for the connection
      • getMaxIdleTimeout

        public long getMaxIdleTimeout()
        Description copied from interface: LogicalConnection
        Set the maximum number of milliseconds of idleness before the connection is closed/disconnected, (ie no frames are either sent or received)
        Specified by:
        getMaxIdleTimeout in interface LogicalConnection
        Returns:
        the idle timeout in milliseconds
      • getParser

        public Parser getParser()
      • getLocalAddress

        public java.net.InetSocketAddress getLocalAddress()
        Description copied from interface: LogicalConnection
        Get the local InetSocketAddress in use for this connection.

        Note: Non-physical connections, like during the Mux extensions, or during unit testing can result in a InetSocketAddress on port 0 and/or on localhost.

        Specified by:
        getLocalAddress in interface LogicalConnection
        Returns:
        the local address.
      • getRemoteAddress

        public java.net.InetSocketAddress getRemoteAddress()
        Description copied from interface: LogicalConnection
        Get the remote Address in use for this connection.

        Note: Non-physical connections, like during the Mux extensions, or during unit testing can result in a InetSocketAddress on port 0 and/or on localhost.

        Specified by:
        getRemoteAddress in interface LogicalConnection
        Returns:
        the remote address.
      • getScheduler

        public Scheduler getScheduler()
      • isOpen

        public boolean isOpen()
        Description copied from interface: LogicalConnection
        Test if logical connection is still open
        Specified by:
        isOpen in interface LogicalConnection
        Returns:
        true if connection is open
      • isReading

        public boolean isReading()
        Description copied from interface: LogicalConnection
        Tests if the connection is actively reading.
        Specified by:
        isReading in interface LogicalConnection
        Returns:
        true if connection is actively attempting to read.
      • setInitialBuffer

        protected void setInitialBuffer​(java.nio.ByteBuffer initialBuffer)
        Extra bytes from the initial HTTP upgrade that need to be processed by the websocket parser before starting to read bytes from the connection
        Parameters:
        initialBuffer - the bytes of unconsumed content encountered during upgrade
      • onReadTimeout

        protected boolean onReadTimeout​(java.lang.Throwable timeout)
        Event for no activity on connection (read or write)
        Overrides:
        onReadTimeout in class AbstractConnection
        Returns:
        true to signal that the endpoint must be closed, false to keep the endpoint open
      • setExtensions

        public void setExtensions​(java.util.List<ExtensionConfig> extensions)
        Get the list of extensions in use.

        This list is negotiated during the WebSocket Upgrade Request/Response handshake.

        Parameters:
        extensions - the list of negotiated extensions in use.
      • setMaxIdleTimeout

        public void setMaxIdleTimeout​(long ms)
        Description copied from interface: LogicalConnection
        Set the maximum number of milliseconds of idleness before the connection is closed/disconnected, (ie no frames are either sent or received)

        This idle timeout cannot be garunteed to take immediate effect for any active read/write actions. New read/write actions will have this new idle timeout.

        Specified by:
        setMaxIdleTimeout in interface LogicalConnection
        Parameters:
        ms - the number of milliseconds of idle timeout
      • dumpSelf

        public java.lang.String dumpSelf()
        Specified by:
        dumpSelf in interface Dumpable
      • dump

        public void dump​(java.lang.Appendable out,
                         java.lang.String indent)
                  throws java.io.IOException
        Specified by:
        dump in interface Dumpable
        Throws:
        java.io.IOException
      • onUpgradeTo

        public void onUpgradeTo​(java.nio.ByteBuffer buffer)
        Extra bytes from the initial HTTP upgrade that need to be processed by the websocket parser before starting to read bytes from the connection
        Specified by:
        onUpgradeTo in interface Connection.UpgradeTo
      • setNextIncomingFrames

        public void setNextIncomingFrames​(IncomingFrames incoming)
        Description copied from interface: LogicalConnection
        Set where the connection should send the incoming frames to.

        Often this is from the Parser to the start of the extension stack, and eventually on to the session.

        Specified by:
        setNextIncomingFrames in interface LogicalConnection
        Parameters:
        incoming - the incoming frames handler