Class TyrusWebSocket

java.lang.Object
org.glassfish.tyrus.core.TyrusWebSocket

public class TyrusWebSocket extends Object
Tyrus representation of web socket connection.

Instance of this class represents one bi-directional websocket connection.

  • Constructor Details

  • Method Details

    • setWriteTimeout

      public void setWriteTimeout(long timeoutMs)
      Sets the timeout for the writing operation.
      Parameters:
      timeoutMs - timeout in milliseconds.
    • isConnected

      public boolean isConnected()
      Convenience method to determine if this TyrusWebSocket instance is connected.
      Returns:
      true if the TyrusWebSocket is connected, false otherwise.
    • onClose

      public void onClose(CloseFrame frame)
      This callback will be invoked when the remote endpoint sent a closing frame.

      The execution of this method is synchronized using ProtocolHandler instance; see TYRUS-385. Prevents multiple invocations, especially from container/user code.

      Parameters:
      frame - the close frame from the remote endpoint.
    • onConnect

      public void onConnect(UpgradeRequest upgradeRequest, String subProtocol, List<Extension> extensions, String connectionId, DebugContext debugContext)
      This callback will be invoked when the opening handshake between both endpoints has been completed.
      Parameters:
      upgradeRequest - request associated with this socket.
      subProtocol - negotiated subprotocol.
      extensions - negotiated extensions.
      connectionId - connection id.
      debugContext - debug context.
    • onFragment

      public void onFragment(BinaryFrame frame, boolean last)
      This callback will be invoked when a fragmented binary message has been received.
      Parameters:
      frame - the binary data received from the remote endpoint.
      last - flag indicating whether or not the payload received is the final fragment of a message.
    • onFragment

      public void onFragment(TextFrame frame, boolean last)
      This callback will be invoked when a fragmented textual message has been received.
      Parameters:
      frame - the text received from the remote endpoint.
      last - flag indicating whether or not the payload received is the final fragment of a message.
    • onMessage

      public void onMessage(BinaryFrame frame)
      This callback will be invoked when a binary message has been received.
      Parameters:
      frame - the binary data received from the remote endpoint.
    • onMessage

      public void onMessage(TextFrame frame)
      This callback will be invoked when a text message has been received.
      Parameters:
      frame - the text received from the remote endpoint.
    • onPing

      public void onPing(PingFrame frame)
      This callback will be invoked when the remote endpoint has sent a ping frame.
      Parameters:
      frame - the ping frame from the remote endpoint.
    • onPong

      public void onPong(PongFrame frame)
      This callback will be invoked when the remote endpoint has sent a pong frame.
      Parameters:
      frame - the pong frame from the remote endpoint.
    • close

      public void close()
      Closes this TyrusWebSocket.
    • close

      public void close(int code, String reason)
      Closes this TyrusWebSocket using the specified status code and reason.
      Parameters:
      code - the closing status code.
      reason - the reason, if any.
    • close

      public void close(CloseReason closeReason)
      Closes this TyrusWebSocket using the CloseReason.
      Parameters:
      closeReason - the close reason.
    • sendBinary

      @Deprecated public Future<Frame> sendBinary(byte[] data)
      Deprecated.
      Send a binary frame to the remote endpoint.
      Parameters:
      data - data to be sent.
      Returns:
      Future which could be used to control/check the sending completion state.
    • sendBinary

      public Future<Frame> sendBinary(byte[] data, WriterInfo writerInfo)
      Send a binary frame to the remote endpoint.
      Parameters:
      data - data to be sent.
      writerInfo - information about the outbound message.
      Returns:
      Future which could be used to control/check the sending completion state.
    • sendBinary

      @Deprecated public void sendBinary(byte[] data, SendHandler handler)
      Deprecated.
      Send a binary frame to the remote endpoint.
      Parameters:
      data - data to be sent.
      handler - SendHandler.onResult(jakarta.websocket.SendResult) will be called when sending is complete.
    • sendBinary

      public void sendBinary(byte[] data, SendHandler handler, WriterInfo writerInfo)
      Send a binary frame to the remote endpoint.
      Parameters:
      data - data to be sent.
      handler - SendHandler.onResult(jakarta.websocket.SendResult) will be called when sending is complete.
      writerInfo - information about the outbound message.
    • sendText

      @Deprecated public Future<Frame> sendText(String data)
      Deprecated.
      Send a text frame to the remote endpoint.
      Parameters:
      data - data to be sent.
      Returns:
      Future which could be used to control/check the sending completion state.
    • sendText

      public Future<Frame> sendText(String data, WriterInfo writerInfo)
      Send a text frame to the remote endpoint.
      Parameters:
      data - data to be sent.
      writerInfo - information about the outbound message.
      Returns:
      Future which could be used to control/check the sending completion state.
    • sendText

      @Deprecated public void sendText(String data, SendHandler handler)
      Deprecated.
      Send a text frame to the remote endpoint.
      Parameters:
      data - data to be sent.
      handler - SendHandler.onResult(jakarta.websocket.SendResult) will be called when sending is complete.
    • sendText

      public void sendText(String data, SendHandler handler, WriterInfo writerInfo)
      Send a text frame to the remote endpoint.
      Parameters:
      data - data to be sent.
      handler - SendHandler.onResult(jakarta.websocket.SendResult) will be called when sending is complete.
      writerInfo - information about the outbound message.
    • sendRawFrame

      public Future<Frame> sendRawFrame(ByteBuffer data)
      Send a frame to the remote endpoint.
      Parameters:
      data - complete data frame.
      Returns:
      Future which could be used to control/check the sending completion state.
    • sendPing

      public Future<Frame> sendPing(byte[] data)
      Sends a ping frame with the specified payload (if any).
      Parameters:
      data - optional payload. Note that payload length is restricted to 125 bytes or less.
      Returns:
      Future which could be used to control/check the sending completion state.
    • sendPong

      public Future<Frame> sendPong(byte[] data)
      Sends a ping frame with the specified payload (if any).

      It may seem odd to send a pong frame, however, RFC-6455 states: "A Pong frame MAY be sent unsolicited. This serves as a unidirectional heartbeat. A response to an unsolicited Pong frame is not expected."

      Parameters:
      data - optional payload. Note that payload length is restricted to 125 bytes or less.
      Returns:
      Future which could be used to control/check the sending completion state.
    • sendText

      @Deprecated public Future<Frame> sendText(String fragment, boolean last)
      Deprecated.
      Sends a fragment of a complete message.
      Parameters:
      fragment - the textual fragment to send.
      last - boolean indicating if this message fragment is the last.
      Returns:
      Future which could be used to control/check the sending completion state.
    • sendText

      public Future<Frame> sendText(String fragment, boolean last, WriterInfo writerInfo)
      Sends a fragment of a complete message.
      Parameters:
      fragment - the textual fragment to send.
      last - boolean indicating if this message fragment is the last.
      writerInfo - information about the outbound message.
      Returns:
      Future which could be used to control/check the sending completion state.
    • sendBinary

      @Deprecated public Future<Frame> sendBinary(byte[] bytes, boolean last)
      Deprecated.
      Sends a fragment of a complete message.
      Parameters:
      bytes - the binary fragment to send.
      last - boolean indicating if this message fragment is the last.
      Returns:
      Future which could be used to control/check the sending completion state.
    • sendBinary

      public Future<Frame> sendBinary(byte[] bytes, boolean last, WriterInfo writerInfo)
      Sends a fragment of a complete message.
      Parameters:
      bytes - the binary fragment to send.
      last - boolean indicating if this message fragment is the last.
      writerInfo - information about the outbound message.
      Returns:
      Future which could be used to control/check the sending completion state.
    • sendBinary

      @Deprecated public Future<Frame> sendBinary(byte[] bytes, int off, int len, boolean last)
      Deprecated.
      Sends a fragment of a complete message.
      Parameters:
      bytes - the binary fragment to send.
      off - the offset within the fragment to send.
      len - the number of bytes of the fragment to send.
      last - boolean indicating if this message fragment is the last.
      Returns:
      Future which could be used to control/check the sending completion state.
    • sendBinary

      public Future<Frame> sendBinary(byte[] bytes, int off, int len, boolean last, WriterInfo writerInfo)
      Sends a fragment of a complete message.
      Parameters:
      bytes - the binary fragment to send.
      off - the offset within the fragment to send.
      len - the number of bytes of the fragment to send.
      last - boolean indicating if this message fragment is the last.
      writerInfo - information about the outbound message.
      Returns:
      Future which could be used to control/check the sending completion state.