# Class WsRemoteEndpointAsync

java.lang.Object
org.apache.tomcat.websocket.WsRemoteEndpointBase
org.apache.tomcat.websocket.WsRemoteEndpointAsync

All Implemented Interfaces:
  `RemoteEndpoint`, `RemoteEndpoint.Async`

public class WsRemoteEndpointAsync extends WsRemoteEndpointBase implements RemoteEndpoint.Async

- ## Nested Class Summary

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

  `RemoteEndpoint.Async, RemoteEndpoint.Basic`

- ## Field Summary

  ### Fields inherited from class org.apache.tomcat.websocket.WsRemoteEndpointBase

  `base`

- ## 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 class org.apache.tomcat.websocket.WsRemoteEndpointBase

  `flushBatch, getBatchingAllowed, sendPing, sendPong, setBatchingAllowed`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

  `flushBatch, getBatchingAllowed, sendPing, sendPong, setBatchingAllowed`

- ## Method Details

  - ### getSendTimeout

    public long getSendTimeout()
    Description copied from interface: `javax.websocket.RemoteEndpoint.Async`
    Obtain the timeout (in milliseconds) for sending a message asynchronously. The default value is determined by `WebSocketContainer.getDefaultAsyncSendTimeout()`.
    Specified by:
      `getSendTimeout` in interface `RemoteEndpoint.Async`
    Returns:
      The current send timeout in milliseconds. A non-positive value means an infinite timeout.

  - ### setSendTimeout

    public void setSendTimeout(long timeout)
    Description copied from interface: `javax.websocket.RemoteEndpoint.Async`
    Set the timeout (in milliseconds) for sending a message asynchronously. The default value is determined by `WebSocketContainer.getDefaultAsyncSendTimeout()`.
    Specified by:
      `setSendTimeout` in interface `RemoteEndpoint.Async`
    Parameters:
      `timeout` - The new timeout for sending messages asynchronously in milliseconds. A non-positive value means an infinite timeout.

  - ### sendText

    public void sendText(String text, SendHandler completion)
    Description copied from interface: `javax.websocket.RemoteEndpoint.Async`
    Send the message asynchronously, using the SendHandler to signal to the client when the message has been sent.
    Specified by:
      `sendText` in interface `RemoteEndpoint.Async`
    Parameters:
      `text` - The text message to send
      `completion` - Used to signal to the client when the message has been sent

  - ### sendText

    public Future<Void> sendText(String text)
    Description copied from interface: `javax.websocket.RemoteEndpoint.Async`
    Send the message asynchronously, using the Future to signal to the client when the message has been sent.
    Specified by:
      `sendText` in interface `RemoteEndpoint.Async`
    Parameters:
      `text` - The text message to send
    Returns:
      A Future that signals when the message has been sent.

  - ### sendBinary

    public Future<Void> sendBinary(ByteBuffer data)
    Description copied from interface: `javax.websocket.RemoteEndpoint.Async`
    Send the message asynchronously, using the Future to signal to the client when the message has been sent.
    Specified by:
      `sendBinary` in interface `RemoteEndpoint.Async`
    Parameters:
      `data` - The text message to send
    Returns:
      A Future that signals when the message has been sent.

  - ### sendBinary

    public void sendBinary(ByteBuffer data, SendHandler completion)
    Description copied from interface: `javax.websocket.RemoteEndpoint.Async`
    Send the message asynchronously, using the SendHandler to signal to the client when the message has been sent.
    Specified by:
      `sendBinary` in interface `RemoteEndpoint.Async`
    Parameters:
      `data` - The text message to send
      `completion` - Used to signal to the client when the message has been sent

  - ### sendObject

    public Future<Void> sendObject(Object obj)
    Description copied from interface: `javax.websocket.RemoteEndpoint.Async`
    Encodes object as a message and sends it asynchronously, using the Future to signal to the client when the message has been sent.
    Specified by:
      `sendObject` in interface `RemoteEndpoint.Async`
    Parameters:
      `obj` - The object to be sent.
    Returns:
      A Future that signals when the message has been sent.

  - ### sendObject

    public void sendObject(Object obj, SendHandler completion)
    Description copied from interface: `javax.websocket.RemoteEndpoint.Async`
    Encodes object as a message and sends it asynchronously, using the SendHandler to signal to the client when the message has been sent.
    Specified by:
      `sendObject` in interface `RemoteEndpoint.Async`
    Parameters:
      `obj` - The object to be sent.
      `completion` - Used to signal to the client when the message has been sent