Package org.apache.tomcat.websocket

# Class WsRemoteEndpointBase

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

All Implemented Interfaces:
  `RemoteEndpoint`

Direct Known Subclasses:
  `WsRemoteEndpointAsync`, `WsRemoteEndpointBasic`

public abstract class WsRemoteEndpointBase extends Object implements RemoteEndpoint

- ## Nested Class Summary

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

  `RemoteEndpoint.Async, RemoteEndpoint.Basic`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final WsRemoteEndpointImplBase`
  `base`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final void`
  `flushBatch()`
  Flush any currently batched messages to the remote endpoint.
  `final boolean`
  `getBatchingAllowed()`
  Obtains the current batching status of the endpoint.
  `final void`
  `sendPing(ByteBuffer applicationData)`
  Send a ping message blocking until the message has been sent.
  `final void`
  `sendPong(ByteBuffer applicationData)`
  Send a pong message blocking until the message has been sent.
  `final void`
  `setBatchingAllowed(boolean batchingAllowed)`
  Enable or disable the batching of outgoing messages for this endpoint.

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

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

- ## Field Details

  - ### base

    protected final WsRemoteEndpointImplBase base

- ## Method Details

  - ### setBatchingAllowed

    public final void setBatchingAllowed(boolean batchingAllowed) throws IOException
    Description copied from interface: `javax.websocket.RemoteEndpoint`
    Enable or disable the batching of outgoing messages for this endpoint. If batching is disabled when it was previously enabled then this method will block until any currently batched messages have been written.
    Specified by:
      `setBatchingAllowed` in interface `RemoteEndpoint`
    Parameters:
      `batchingAllowed` - New setting
    Throws:
      `IOException` - If changing the value resulted in a call to `RemoteEndpoint.flushBatch()` and that call threw an `IOException`.

  - ### getBatchingAllowed

    public final boolean getBatchingAllowed()
    Description copied from interface: `javax.websocket.RemoteEndpoint`
    Obtains the current batching status of the endpoint.
    Specified by:
      `getBatchingAllowed` in interface `RemoteEndpoint`
    Returns:
      `true` if batching is enabled, otherwise `false`.

  - ### flushBatch

    public final void flushBatch() throws IOException
    Description copied from interface: `javax.websocket.RemoteEndpoint`
    Flush any currently batched messages to the remote endpoint. This method will block until the flush completes.
    Specified by:
      `flushBatch` in interface `RemoteEndpoint`
    Throws:
      `IOException` - If an I/O error occurs while flushing

  - ### sendPing

    public final void sendPing(ByteBuffer applicationData) throws IOException, IllegalArgumentException
    Description copied from interface: `javax.websocket.RemoteEndpoint`
    Send a ping message blocking until the message has been sent. Note that if a message is in the process of being sent asynchronously, this method will block until that message and this ping has been sent.
    Specified by:
      `sendPing` in interface `RemoteEndpoint`
    Parameters:
      `applicationData` - The payload for the ping message
    Throws:
      `IOException` - If an I/O error occurs while sending the ping
      `IllegalArgumentException` - if the applicationData is too large for a control message (max 125 bytes)

  - ### sendPong

    public final void sendPong(ByteBuffer applicationData) throws IOException, IllegalArgumentException
    Description copied from interface: `javax.websocket.RemoteEndpoint`
    Send a pong message blocking until the message has been sent. Note that if a message is in the process of being sent asynchronously, this method will block until that message and this pong has been sent.
    Specified by:
      `sendPong` in interface `RemoteEndpoint`
    Parameters:
      `applicationData` - The payload for the pong message
    Throws:
      `IOException` - If an I/O error occurs while sending the pong
      `IllegalArgumentException` - if the applicationData is too large for a control message (max 125 bytes)