Interface CoreSession

    • Method Detail

      • getNegotiatedSubProtocol

        java.lang.String getNegotiatedSubProtocol()
        The negotiated WebSocket Sub-Protocol for this session.
        Returns:
        the negotiated WebSocket Sub-Protocol for this session.
      • getNegotiatedExtensions

        java.util.List<ExtensionConfig> getNegotiatedExtensions()
        The negotiated WebSocket Extension Configurations for this session.
        Returns:
        the list of Negotiated Extension Configurations for this session.
      • getParameterMap

        java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getParameterMap()
        The parameter map (from URI Query) for the active session.
        Returns:
        the immutable map of parameters
      • getProtocolVersion

        java.lang.String getProtocolVersion()
        The active Sec-WebSocket-Version (protocol version) in use.
        Returns:
        the protocol version in use.
      • getRequestURI

        java.net.URI getRequestURI()
        The active connection's Request URI. This is the URI of the upgrade request and is typically http: or https: rather than the ws: or wss: scheme.
        Returns:
        the absolute URI (including Query string)
      • isSecure

        boolean isSecure()
        The active connection's Secure status indicator.
        Returns:
        true if connection is secure (similar in role to HttpServletRequest.isSecure())
      • getBehavior

        Behavior getBehavior()
        Returns:
        Client or Server behaviour
      • getWebSocketComponents

        WebSocketComponents getWebSocketComponents()
        Returns:
        the WebSocketComponents instance in use for this Connection.
      • getByteBufferPool

        ByteBufferPool getByteBufferPool()
        Returns:
        The shared ByteBufferPool
      • getLocalAddress

        java.net.SocketAddress getLocalAddress()
        The Local Socket Address for the connection

        Do not assume that this will return a InetSocketAddress in all cases. Use of various proxies, and even UnixSockets can result a SocketAddress being returned without supporting InetSocketAddress

        Returns:
        the SocketAddress for the local connection, or null if not supported by Session
      • getRemoteAddress

        java.net.SocketAddress getRemoteAddress()
        The Remote Socket Address for the connection

        Do not assume that this will return a InetSocketAddress in all cases. Use of various proxies, and even UnixSockets can result a SocketAddress being returned without supporting InetSocketAddress

        Returns:
        the SocketAddress for the remote connection, or null if not supported by Session
      • isInputOpen

        boolean isInputOpen()
        Returns:
        True if the websocket is open inbound
      • isOutputOpen

        boolean isOutputOpen()
        Returns:
        True if the websocket is open outbound
      • flush

        void flush​(Callback callback)
        If using BatchMode.ON or BatchMode.AUTO, trigger a flush of enqueued / batched frames.
        Parameters:
        callback - the callback to track close frame sent (or failed)
      • close

        void close​(Callback callback)
        Initiate close handshake, no payload (no declared status code or reason phrase)
        Parameters:
        callback - the callback to track close frame sent (or failed)
      • close

        void close​(int statusCode,
                   java.lang.String reason,
                   Callback callback)
        Initiate close handshake with provide status code and optional reason phrase.
        Parameters:
        statusCode - the status code (should be a valid status code that can be sent)
        reason - optional reason phrase (will be truncated automatically by implementation to fit within limits of protocol)
        callback - the callback to track close frame sent (or failed)
      • abort

        void abort()
        Issue a harsh abort of the underlying connection.

        This will terminate the connection, without sending a websocket close frame. No WebSocket Protocol close handshake will be performed.

        Once called, any read/write activity on the websocket from this point will be indeterminate. This can result in the FrameHandler.onError(Throwable, Callback) event being called indicating any issue that arises.

        Once the underlying connection has been determined to be closed, the FrameHandler.onClosed(CloseStatus, Callback) event will be called.

      • isRsv1Used

        boolean isRsv1Used()
        Returns:
        true if an extension has been negotiated which uses the RSV1 bit.
      • isRsv2Used

        boolean isRsv2Used()
        Returns:
        true if an extension has been negotiated which uses the RSV2 bit.
      • isRsv3Used

        boolean isRsv3Used()
        Returns:
        true if an extension has been negotiated which uses the RSV3 bit.