Package jakarta.websocket

# Interface RemoteEndpoint.Async

All Superinterfaces:
  `RemoteEndpoint`

Enclosing interface:
  `RemoteEndpoint`

public static interface RemoteEndpoint.Async extends RemoteEndpoint

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface jakarta.websocket.RemoteEndpoint

  `RemoteEndpoint.Async, RemoteEndpoint.Basic`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `long`
  `getSendTimeout()`
  Obtain the timeout (in milliseconds) for sending a message asynchronously.
  `Future<Void>`
  `sendBinary(ByteBuffer data)`
  Send the message asynchronously, using the Future to signal to the client when the message has been sent.
  `void`
  `sendBinary(ByteBuffer data, SendHandler completion)`
  Send the message asynchronously, using the SendHandler to signal to the client when the message has been sent.
  `Future<Void>`
  `sendObject(Object obj)`
  Encodes object as a message and sends it asynchronously, using the Future to signal to the client when the message has been sent.
  `void`
  `sendObject(Object obj, SendHandler completion)`
  Encodes object as a message and sends it asynchronously, using the SendHandler to signal to the client when the message has been sent.
  `Future<Void>`
  `sendText(String text)`
  Send the message asynchronously, using the Future to signal to the client when the message has been sent.
  `void`
  `sendText(String text, SendHandler completion)`
  Send the message asynchronously, using the SendHandler to signal to the client when the message has been sent.
  `void`
  `setSendTimeout(long timeout)`
  Set the timeout (in milliseconds) for sending a message asynchronously.

  ### Methods inherited from interface jakarta.websocket.RemoteEndpoint

  `flushBatch, getBatchingAllowed, sendPing, sendPong, setBatchingAllowed`

- ## Method Details

  - ### getSendTimeout

    long getSendTimeout()
    Obtain the timeout (in milliseconds) for sending a message asynchronously. The default value is determined by `WebSocketContainer.getDefaultAsyncSendTimeout()`.
    Returns:
      The current send timeout in milliseconds. A non-positive value means an infinite timeout.

  - ### setSendTimeout

    void setSendTimeout(long timeout)
    Set the timeout (in milliseconds) for sending a message asynchronously. The default value is determined by `WebSocketContainer.getDefaultAsyncSendTimeout()`.
    Parameters:
      `timeout` - The new timeout for sending messages asynchronously in milliseconds. A non-positive value means an infinite timeout.

  - ### sendText

    void sendText(String text, SendHandler completion)
    Send the message asynchronously, using the SendHandler to signal to the client when the message has been sent.
    Parameters:
      `text` - The text message to send
      `completion` - Used to signal to the client when the message has been sent

  - ### sendText

    Future<Void> sendText(String text)
    Send the message asynchronously, using the Future to signal to the client when the message has been sent.
    Parameters:
      `text` - The text message to send
    Returns:
      A Future that signals when the message has been sent.

  - ### sendBinary

    Future<Void> sendBinary(ByteBuffer data)
    Send the message asynchronously, using the Future to signal to the client when the message has been sent.
    Parameters:
      `data` - The text message to send
    Returns:
      A Future that signals when the message has been sent.
    Throws:
      `IllegalArgumentException` - if `data` is `null`.

  - ### sendBinary

    void sendBinary(ByteBuffer data, SendHandler completion)
    Send the message asynchronously, using the SendHandler to signal to the client when the message has been sent.
    Parameters:
      `data` - The text message to send
      `completion` - Used to signal to the client when the message has been sent
    Throws:
      `IllegalArgumentException` - if `data` or `completion` is `null`.

  - ### sendObject

    Future<Void> sendObject(Object obj)
    Encodes object as a message and sends it asynchronously, using the Future to signal to the client when the message has been sent.
    Parameters:
      `obj` - The object to be sent.
    Returns:
      A Future that signals when the message has been sent.
    Throws:
      `IllegalArgumentException` - if `obj` is `null`.

  - ### sendObject

    void sendObject(Object obj, SendHandler completion)
    Encodes object as a message and sends it asynchronously, using the SendHandler to signal to the client when the message has been sent.
    Parameters:
      `obj` - The object to be sent.
      `completion` - Used to signal to the client when the message has been sent
    Throws:
      `IllegalArgumentException` - if `obj` or `completion` is `null`.