Interface LogicalConnection

All Superinterfaces:
OutgoingFrames, SuspendToken
All Known Implementing Classes:
AbstractWebSocketConnection, WebSocketClientConnection, WebSocketServerConnection

public interface LogicalConnection extends OutgoingFrames, SuspendToken
  • Method Details

    • canReadWebSocketFrames

      boolean canReadWebSocketFrames()
      Test if Connection State allows for reading of frames.
      Returns:
      true if able to read, false otherwise.
    • canWriteWebSocketFrames

      boolean canWriteWebSocketFrames()
      Test if Connection State allows for writing frames.
      Returns:
      true if able to write, false otherwise.
    • close

      void close(Throwable cause)
      Close the connection based on the cause.
      Parameters:
      cause - the cause
    • close

      void close(CloseInfo closeInfo, org.eclipse.jetty.util.Callback callback)
      Request a local close.
    • disconnect

      void disconnect()
      Terminate the connection (no close frame sent)
    • getBufferPool

      org.eclipse.jetty.io.ByteBufferPool getBufferPool()
      Get the ByteBufferPool in use by the connection
      Returns:
      the buffer pool
    • getExecutor

      Executor getExecutor()
      Get the Executor used by this connection.
      Returns:
      the executor
    • getId

      String getId()
      Get Unique ID for the Connection
      Returns:
      the unique ID for the connection
    • getIdleTimeout

      long getIdleTimeout()
      Get the read/write idle timeout.
      Returns:
      the idle timeout in milliseconds
    • getLocalAddress

      InetSocketAddress getLocalAddress()
      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.

      Returns:
      the local address.
    • getMaxIdleTimeout

      long getMaxIdleTimeout()
      Set the maximum number of milliseconds of idleness before the connection is closed/disconnected, (ie no frames are either sent or received)
      Returns:
      the idle timeout in milliseconds
    • setMaxIdleTimeout

      void setMaxIdleTimeout(long ms)
      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.

      Parameters:
      ms - the number of milliseconds of idle timeout
    • getPolicy

      WebSocketPolicy getPolicy()
      The policy that the connection is running under.
      Returns:
      the policy for the connection
    • getRemoteAddress

      InetSocketAddress getRemoteAddress()
      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.

      Returns:
      the remote address.
    • isOpen

      boolean isOpen()
      Test if logical connection is still open
      Returns:
      true if connection is open
    • isReading

      boolean isReading()
      Tests if the connection is actively reading.
      Returns:
      true if connection is actively attempting to read.
    • opened

      boolean opened()
      Set the state to opened (the application onOpen() method has been called successfully).

      Reads from network begin here.

      Returns:
      true if state is OPENED, false otherwise
    • opening

      boolean opening()
      Set the state to upgrade/opening handshake has completed.
      Returns:
      true if state is OPENING, false otherwise
    • remoteClose

      void remoteClose(CloseInfo close)
      Report that the Remote Endpoint CLOSE Frame has been received
      Parameters:
      close - the close frame details
    • setNextIncomingFrames

      void setNextIncomingFrames(IncomingFrames incoming)
      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.

      Parameters:
      incoming - the incoming frames handler
    • setSession

      void setSession(WebSocketSession session)
      Associate the Active Session with the connection.
      Parameters:
      session - the session for this connection
    • suspend

      SuspendToken suspend()
      Suspend a the incoming read events on the connection.
      Returns:
      the suspend token
    • toStateString

      String toStateString()
      Get the Connection State as a String
      Returns:
      the Connection State string