io.undertow.websockets.core

## Class WebSockets

- java.lang.Object
- - io.undertow.websockets.core.WebSockets

    public class WebSockets
    extends Object

Author:
  Stuart Douglas

### Method Summary

All Methods Static Methods Concrete Methods
`static ByteBuffer` `mergeBuffers(ByteBuffer... payload)`
`static <T> void` `sendBinary(ByteBuffer[] data, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete binary message, invoking the callback when complete
`static <T> void` `sendBinary(ByteBuffer[] data, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context, long timeoutmillis)` Sends a complete binary message, invoking the callback when complete
`static void` `sendBinary(ByteBuffer[] data, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete binary message, invoking the callback when complete
`static void` `sendBinary(ByteBuffer[] data, WebSocketChannel wsChannel, WebSocketCallback<Void> callback, long timeoutmillis)` Sends a complete binary message, invoking the callback when complete
`static <T> void` `sendBinary(ByteBuffer data, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete binary message, invoking the callback when complete
`static <T> void` `sendBinary(ByteBuffer data, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context, long timeoutmillis)` Sends a complete binary message, invoking the callback when complete
`static void` `sendBinary(ByteBuffer data, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete binary message, invoking the callback when complete
`static void` `sendBinary(ByteBuffer data, WebSocketChannel wsChannel, WebSocketCallback<Void> callback, long timeoutmillis)` Sends a complete binary message, invoking the callback when complete
`static <T> void` `sendBinary(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete binary message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static <T> void` `sendBinary(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context, long timeoutmillis)` Sends a complete binary message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static void` `sendBinary(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete binary message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static void` `sendBinary(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<Void> callback, long timeoutmillis)` Sends a complete binary message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static void` `sendBinaryBlocking(ByteBuffer[] data, WebSocketChannel wsChannel)` Sends a complete binary message using blocking IO
`static void` `sendBinaryBlocking(ByteBuffer data, WebSocketChannel wsChannel)` Sends a complete binary message using blocking IO
`static void` `sendBinaryBlocking(PooledByteBuffer pooledData, WebSocketChannel wsChannel)` Sends a complete binary message using blocking IO Automatically frees the pooled byte buffer when done.
`static <T> void` `sendClose(ByteBuffer[] data, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete close message, invoking the callback when complete
`static void` `sendClose(ByteBuffer[] data, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete close message, invoking the callback when complete
`static <T> void` `sendClose(ByteBuffer data, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete close message, invoking the callback when complete
`static void` `sendClose(ByteBuffer data, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete close message, invoking the callback when complete
`static <T> void` `sendClose(CloseMessage closeMessage, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete close message, invoking the callback when complete
`static void` `sendClose(CloseMessage closeMessage, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete close message, invoking the callback when complete
`static <T> void` `sendClose(int code, String reason, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete close message, invoking the callback when complete
`static void` `sendClose(int code, String reason, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete close message, invoking the callback when complete
`static void` `sendCloseBlocking(ByteBuffer[] data, WebSocketChannel wsChannel)` Sends a complete close message, invoking the callback when complete
`static void` `sendCloseBlocking(ByteBuffer data, WebSocketChannel wsChannel)` Sends a complete close message, invoking the callback when complete
`static void` `sendCloseBlocking(CloseMessage closeMessage, WebSocketChannel wsChannel)` Sends a complete close message, invoking the callback when complete
`static void` `sendCloseBlocking(int code, String reason, WebSocketChannel wsChannel)` Sends a complete close message, invoking the callback when complete
`static <T> void` `sendPing(ByteBuffer[] data, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete ping message, invoking the callback when complete
`static <T> void` `sendPing(ByteBuffer[] data, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context, long timeoutmillis)` Sends a complete ping message, invoking the callback when complete
`static void` `sendPing(ByteBuffer[] data, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete ping message, invoking the callback when complete
`static void` `sendPing(ByteBuffer[] data, WebSocketChannel wsChannel, WebSocketCallback<Void> callback, long timeoutmillis)` Sends a complete ping message, invoking the callback when complete
`static <T> void` `sendPing(ByteBuffer data, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete ping message, invoking the callback when complete
`static <T> void` `sendPing(ByteBuffer data, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context, long timeoutmillis)` Sends a complete ping message, invoking the callback when complete
`static void` `sendPing(ByteBuffer data, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete ping message, invoking the callback when complete
`static void` `sendPing(ByteBuffer data, WebSocketChannel wsChannel, WebSocketCallback<Void> callback, long timeoutmillis)` Sends a complete ping message, invoking the callback when complete
`static <T> void` `sendPing(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete ping message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static <T> void` `sendPing(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context, long timeoutmillis)` Sends a complete ping message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static void` `sendPing(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete ping message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static void` `sendPing(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<Void> callback, long timeoutmillis)` Sends a complete ping message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static void` `sendPingBlocking(ByteBuffer[] data, WebSocketChannel wsChannel)` Sends a complete ping message using blocking IO
`static void` `sendPingBlocking(ByteBuffer data, WebSocketChannel wsChannel)` Sends a complete ping message using blocking IO
`static void` `sendPingBlocking(PooledByteBuffer pooledData, WebSocketChannel wsChannel)` Sends a complete ping message using blocking IO Automatically frees the pooled byte buffer when done.
`static <T> void` `sendPong(ByteBuffer[] data, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete pong message, invoking the callback when complete
`static <T> void` `sendPong(ByteBuffer[] data, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context, long timeoutmillis)` Sends a complete pong message, invoking the callback when complete
`static void` `sendPong(ByteBuffer[] data, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete pong message, invoking the callback when complete
`static void` `sendPong(ByteBuffer[] data, WebSocketChannel wsChannel, WebSocketCallback<Void> callback, long timeoutmillis)` Sends a complete pong message, invoking the callback when complete
`static <T> void` `sendPong(ByteBuffer data, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete pong message, invoking the callback when complete
`static <T> void` `sendPong(ByteBuffer data, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context, long timeoutmillis)` Sends a complete pong message, invoking the callback when complete
`static void` `sendPong(ByteBuffer data, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete pong message, invoking the callback when complete
`static void` `sendPong(ByteBuffer data, WebSocketChannel wsChannel, WebSocketCallback<Void> callback, long timeoutmillis)` Sends a complete pong message, invoking the callback when complete
`static <T> void` `sendPong(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete pong message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static <T> void` `sendPong(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context, long timeoutmillis)` Sends a complete pong message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static void` `sendPong(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete pong message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static void` `sendPong(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<Void> callback, long timeoutmillis)` Sends a complete pong message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static void` `sendPongBlocking(ByteBuffer[] data, WebSocketChannel wsChannel)` Sends a complete pong message using blocking IO
`static void` `sendPongBlocking(ByteBuffer data, WebSocketChannel wsChannel)` Sends a complete pong message using blocking IO
`static void` `sendPongBlocking(PooledByteBuffer pooledData, WebSocketChannel wsChannel)` Sends a complete pong message using blocking IO Automatically frees the pooled byte buffer when done.
`static <T> void` `sendText(ByteBuffer message, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete text message, invoking the callback when complete
`static <T> void` `sendText(ByteBuffer message, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context, long timeoutmillis)` Sends a complete text message, invoking the callback when complete
`static void` `sendText(ByteBuffer message, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete text message, invoking the callback when complete
`static void` `sendText(ByteBuffer message, WebSocketChannel wsChannel, WebSocketCallback<Void> callback, long timeoutmillis)` Sends a complete text message, invoking the callback when complete
`static <T> void` `sendText(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete text message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static <T> void` `sendText(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context, long timeoutmillis)` Sends a complete text message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static void` `sendText(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete text message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static void` `sendText(PooledByteBuffer pooledData, WebSocketChannel wsChannel, WebSocketCallback<Void> callback, long timeoutmillis)` Sends a complete text message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static <T> void` `sendText(String message, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context)` Sends a complete text message, invoking the callback when complete
`static <T> void` `sendText(String message, WebSocketChannel wsChannel, WebSocketCallback<T> callback, T context, long timeoutmillis)` Sends a complete text message, invoking the callback when complete
`static void` `sendText(String message, WebSocketChannel wsChannel, WebSocketCallback<Void> callback)` Sends a complete text message, invoking the callback when complete
`static void` `sendText(String message, WebSocketChannel wsChannel, WebSocketCallback<Void> callback, long timeoutmillis)` Sends a complete text message, invoking the callback when complete
`static void` `sendTextBlocking(ByteBuffer message, WebSocketChannel wsChannel)` Sends a complete text message, invoking the callback when complete
`static void` `sendTextBlocking(PooledByteBuffer pooledData, WebSocketChannel wsChannel)` Sends a complete text message, invoking the callback when complete Automatically frees the pooled byte buffer when done.
`static void` `sendTextBlocking(String message, WebSocketChannel wsChannel)` Sends a complete text message, invoking the callback when complete

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

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

### Method Detail

#### sendText

    public static void sendText(String message,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback)

Sends a complete text message, invoking the callback when complete

Parameters:
  `message` - The text to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendText

    public static <T> void sendText(String message,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context)

Sends a complete text message, invoking the callback when complete

Parameters:
  `message` - The text to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendText

    public static void sendText(String message,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback,
                                long timeoutmillis)

Sends a complete text message, invoking the callback when complete

Parameters:
  `message` - The text to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendText

    public static <T> void sendText(String message,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context,
                                    long timeoutmillis)

Sends a complete text message, invoking the callback when complete

Parameters:
  `message` - The text to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendText

    public static void sendText(ByteBuffer message,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback)

Sends a complete text message, invoking the callback when complete

Parameters:
  `message` - The text to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendText

    public static <T> void sendText(ByteBuffer message,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context)

Sends a complete text message, invoking the callback when complete

Parameters:
  `message` - The text to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendText

    public static void sendText(ByteBuffer message,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback,
                                long timeoutmillis)

Sends a complete text message, invoking the callback when complete

Parameters:
  `message` - The text to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendText

    public static <T> void sendText(ByteBuffer message,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context,
                                    long timeoutmillis)

Sends a complete text message, invoking the callback when complete

Parameters:
  `message` - The text to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendText

    public static void sendText(PooledByteBuffer pooledData,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback)

Sends a complete text message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendText

    public static <T> void sendText(PooledByteBuffer pooledData,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context)

Sends a complete text message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendText

    public static void sendText(PooledByteBuffer pooledData,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback,
                                long timeoutmillis)

Sends a complete text message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendText

    public static <T> void sendText(PooledByteBuffer pooledData,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context,
                                    long timeoutmillis)

Sends a complete text message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendTextBlocking

    public static void sendTextBlocking(String message,
                                        WebSocketChannel wsChannel)
                                 throws IOException

Sends a complete text message, invoking the callback when complete

Parameters:
  `message` - The text to send
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendTextBlocking

    public static void sendTextBlocking(ByteBuffer message,
                                        WebSocketChannel wsChannel)
                                 throws IOException

Sends a complete text message, invoking the callback when complete

Parameters:
  `message` - The text to send
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendTextBlocking

    public static void sendTextBlocking(PooledByteBuffer pooledData,
                                        WebSocketChannel wsChannel)
                                 throws IOException

Sends a complete text message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendPing

    public static void sendPing(ByteBuffer data,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback)

Sends a complete ping message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendPing

    public static <T> void sendPing(ByteBuffer data,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context)

Sends a complete ping message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendPing

    public static void sendPing(ByteBuffer data,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback,
                                long timeoutmillis)

Sends a complete ping message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendPing

    public static <T> void sendPing(ByteBuffer data,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context,
                                    long timeoutmillis)

Sends a complete ping message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendPing

    public static void sendPing(ByteBuffer[] data,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback)

Sends a complete ping message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendPing

    public static <T> void sendPing(ByteBuffer[] data,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context)

Sends a complete ping message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendPing

    public static void sendPing(ByteBuffer[] data,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback,
                                long timeoutmillis)

Sends a complete ping message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendPing

    public static <T> void sendPing(ByteBuffer[] data,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context,
                                    long timeoutmillis)

Sends a complete ping message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendPing

    public static void sendPing(PooledByteBuffer pooledData,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback)

Sends a complete ping message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendPing

    public static <T> void sendPing(PooledByteBuffer pooledData,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context)

Sends a complete ping message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendPing

    public static void sendPing(PooledByteBuffer pooledData,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback,
                                long timeoutmillis)

Sends a complete ping message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendPing

    public static <T> void sendPing(PooledByteBuffer pooledData,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context,
                                    long timeoutmillis)

Sends a complete ping message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendPingBlocking

    public static void sendPingBlocking(ByteBuffer data,
                                        WebSocketChannel wsChannel)
                                 throws IOException

Sends a complete ping message using blocking IO

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendPingBlocking

    public static void sendPingBlocking(ByteBuffer[] data,
                                        WebSocketChannel wsChannel)
                                 throws IOException

Sends a complete ping message using blocking IO

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendPingBlocking

    public static void sendPingBlocking(PooledByteBuffer pooledData,
                                        WebSocketChannel wsChannel)
                                 throws IOException

Sends a complete ping message using blocking IO Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendPong

    public static void sendPong(ByteBuffer data,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback)

Sends a complete pong message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendPong

    public static <T> void sendPong(ByteBuffer data,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context)

Sends a complete pong message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendPong

    public static void sendPong(ByteBuffer data,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback,
                                long timeoutmillis)

Sends a complete pong message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendPong

    public static <T> void sendPong(ByteBuffer data,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context,
                                    long timeoutmillis)

Sends a complete pong message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendPong

    public static void sendPong(ByteBuffer[] data,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback)

Sends a complete pong message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendPong

    public static <T> void sendPong(ByteBuffer[] data,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context)

Sends a complete pong message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendPong

    public static void sendPong(ByteBuffer[] data,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback,
                                long timeoutmillis)

Sends a complete pong message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendPong

    public static <T> void sendPong(ByteBuffer[] data,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context,
                                    long timeoutmillis)

Sends a complete pong message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendPong

    public static void sendPong(PooledByteBuffer pooledData,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback)

Sends a complete pong message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendPong

    public static <T> void sendPong(PooledByteBuffer pooledData,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context)

Sends a complete pong message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendPong

    public static void sendPong(PooledByteBuffer pooledData,
                                WebSocketChannel wsChannel,
                                WebSocketCallback<Void> callback,
                                long timeoutmillis)

Sends a complete pong message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendPong

    public static <T> void sendPong(PooledByteBuffer pooledData,
                                    WebSocketChannel wsChannel,
                                    WebSocketCallback<T> callback,
                                    T context,
                                    long timeoutmillis)

Sends a complete pong message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendPongBlocking

    public static void sendPongBlocking(ByteBuffer data,
                                        WebSocketChannel wsChannel)
                                 throws IOException

Sends a complete pong message using blocking IO

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendPongBlocking

    public static void sendPongBlocking(ByteBuffer[] data,
                                        WebSocketChannel wsChannel)
                                 throws IOException

Sends a complete pong message using blocking IO

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendPongBlocking

    public static void sendPongBlocking(PooledByteBuffer pooledData,
                                        WebSocketChannel wsChannel)
                                 throws IOException

Sends a complete pong message using blocking IO Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendBinary

    public static void sendBinary(ByteBuffer data,
                                  WebSocketChannel wsChannel,
                                  WebSocketCallback<Void> callback)

Sends a complete binary message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendBinary

    public static <T> void sendBinary(ByteBuffer data,
                                      WebSocketChannel wsChannel,
                                      WebSocketCallback<T> callback,
                                      T context)

Sends a complete binary message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendBinary

    public static void sendBinary(ByteBuffer data,
                                  WebSocketChannel wsChannel,
                                  WebSocketCallback<Void> callback,
                                  long timeoutmillis)

Sends a complete binary message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendBinary

    public static <T> void sendBinary(ByteBuffer data,
                                      WebSocketChannel wsChannel,
                                      WebSocketCallback<T> callback,
                                      T context,
                                      long timeoutmillis)

Sends a complete binary message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendBinary

    public static void sendBinary(ByteBuffer[] data,
                                  WebSocketChannel wsChannel,
                                  WebSocketCallback<Void> callback)

Sends a complete binary message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendBinary

    public static <T> void sendBinary(ByteBuffer[] data,
                                      WebSocketChannel wsChannel,
                                      WebSocketCallback<T> callback,
                                      T context)

Sends a complete binary message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendBinary

    public static void sendBinary(ByteBuffer[] data,
                                  WebSocketChannel wsChannel,
                                  WebSocketCallback<Void> callback,
                                  long timeoutmillis)

Sends a complete binary message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendBinary

    public static <T> void sendBinary(ByteBuffer[] data,
                                      WebSocketChannel wsChannel,
                                      WebSocketCallback<T> callback,
                                      T context,
                                      long timeoutmillis)

Sends a complete binary message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendBinary

    public static void sendBinary(PooledByteBuffer pooledData,
                                  WebSocketChannel wsChannel,
                                  WebSocketCallback<Void> callback)

Sends a complete binary message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendBinary

    public static <T> void sendBinary(PooledByteBuffer pooledData,
                                      WebSocketChannel wsChannel,
                                      WebSocketCallback<T> callback,
                                      T context)

Sends a complete binary message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendBinary

    public static void sendBinary(PooledByteBuffer pooledData,
                                  WebSocketChannel wsChannel,
                                  WebSocketCallback<Void> callback,
                                  long timeoutmillis)

Sends a complete binary message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendBinary

    public static <T> void sendBinary(PooledByteBuffer pooledData,
                                      WebSocketChannel wsChannel,
                                      WebSocketCallback<T> callback,
                                      T context,
                                      long timeoutmillis)

Sends a complete binary message, invoking the callback when complete Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion
  `timeoutmillis` - the timeout in milliseconds

#### sendBinaryBlocking

    public static void sendBinaryBlocking(ByteBuffer data,
                                          WebSocketChannel wsChannel)
                                   throws IOException

Sends a complete binary message using blocking IO

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendBinaryBlocking

    public static void sendBinaryBlocking(ByteBuffer[] data,
                                          WebSocketChannel wsChannel)
                                   throws IOException

Sends a complete binary message using blocking IO

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendBinaryBlocking

    public static void sendBinaryBlocking(PooledByteBuffer pooledData,
                                          WebSocketChannel wsChannel)
                                   throws IOException

Sends a complete binary message using blocking IO Automatically frees the pooled byte buffer when done.

Parameters:
  `pooledData` - The data to send, it will be freed when done
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendClose

    public static void sendClose(ByteBuffer data,
                                 WebSocketChannel wsChannel,
                                 WebSocketCallback<Void> callback)

Sends a complete close message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendClose

    public static <T> void sendClose(ByteBuffer data,
                                     WebSocketChannel wsChannel,
                                     WebSocketCallback<T> callback,
                                     T context)

Sends a complete close message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendClose

    public static void sendClose(ByteBuffer[] data,
                                 WebSocketChannel wsChannel,
                                 WebSocketCallback<Void> callback)

Sends a complete close message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendClose

    public static <T> void sendClose(ByteBuffer[] data,
                                     WebSocketChannel wsChannel,
                                     WebSocketCallback<T> callback,
                                     T context)

Sends a complete close message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendClose

    public static void sendClose(int code,
                                 String reason,
                                 WebSocketChannel wsChannel,
                                 WebSocketCallback<Void> callback)

Sends a complete close message, invoking the callback when complete

Parameters:
  `code` - The close code
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendClose

    public static <T> void sendClose(int code,
                                     String reason,
                                     WebSocketChannel wsChannel,
                                     WebSocketCallback<T> callback,
                                     T context)

Sends a complete close message, invoking the callback when complete

Parameters:
  `code` - The close code
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendClose

    public static void sendClose(CloseMessage closeMessage,
                                 WebSocketChannel wsChannel,
                                 WebSocketCallback<Void> callback)

Sends a complete close message, invoking the callback when complete

Parameters:
  `closeMessage` - The close message
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion

#### sendClose

    public static <T> void sendClose(CloseMessage closeMessage,
                                     WebSocketChannel wsChannel,
                                     WebSocketCallback<T> callback,
                                     T context)

Sends a complete close message, invoking the callback when complete

Parameters:
  `closeMessage` - The close message
  `wsChannel` - The web socket channel
  `callback` - The callback to invoke on completion
  `context` - The context object that will be passed to the callback on completion

#### sendCloseBlocking

    public static void sendCloseBlocking(CloseMessage closeMessage,
                                         WebSocketChannel wsChannel)
                                  throws IOException

Sends a complete close message, invoking the callback when complete

Parameters:
  `closeMessage` - the close message
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendCloseBlocking

    public static void sendCloseBlocking(int code,
                                         String reason,
                                         WebSocketChannel wsChannel)
                                  throws IOException

Sends a complete close message, invoking the callback when complete

Parameters:
  `code` -
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendCloseBlocking

    public static void sendCloseBlocking(ByteBuffer data,
                                         WebSocketChannel wsChannel)
                                  throws IOException

Sends a complete close message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### sendCloseBlocking

    public static void sendCloseBlocking(ByteBuffer[] data,
                                         WebSocketChannel wsChannel)
                                  throws IOException

Sends a complete close message, invoking the callback when complete

Parameters:
  `data` - The data to send
  `wsChannel` - The web socket channel
Throws:
  `IOException`

#### mergeBuffers

    public static ByteBuffer mergeBuffers(ByteBuffer... payload)