Package org.apache.tomcat.websocket

## Interface AsyncChannelWrapper

All Known Implementing Classes:
  `AsyncChannelWrapperNonSecure`, `AsyncChannelWrapperSecure`

    public interface AsyncChannelWrapper

This is a wrapper for a `AsynchronousSocketChannel` that limits the methods available thereby simplifying the process of implementing SSL/TLS support since there are fewer methods to intercept.

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `close()`
`java.net.SocketAddress` `getLocalAddress()`
`java.util.concurrent.Future<java.lang.Void>` `handshake()`
`java.util.concurrent.Future<java.lang.Integer>` `read​(java.nio.ByteBuffer dst)`
`<B,​A extends B> void` `read​(java.nio.ByteBuffer dst, A attachment, java.nio.channels.CompletionHandler<java.lang.Integer,​B> handler)`
`java.util.concurrent.Future<java.lang.Integer>` `write​(java.nio.ByteBuffer src)`
`<B,​A extends B> void` `write​(java.nio.ByteBuffer[] srcs, int offset, int length, long timeout, java.util.concurrent.TimeUnit unit, A attachment, java.nio.channels.CompletionHandler<java.lang.Long,​B> handler)`

### Method Detail

#### read

    java.util.concurrent.Future<java.lang.Integer> read​(java.nio.ByteBuffer dst)

#### read

    <B,​A extends B> void read​(java.nio.ByteBuffer dst,
                                    A attachment,
                                    java.nio.channels.CompletionHandler<java.lang.Integer,​B> handler)

#### write

    java.util.concurrent.Future<java.lang.Integer> write​(java.nio.ByteBuffer src)

#### write

    <B,​A extends B> void write​(java.nio.ByteBuffer[] srcs,
                                     int offset,
                                     int length,
                                     long timeout,
                                     java.util.concurrent.TimeUnit unit,
                                     A attachment,
                                     java.nio.channels.CompletionHandler<java.lang.Long,​B> handler)

#### close

    void close()

#### handshake

    java.util.concurrent.Future<java.lang.Void> handshake()
                                                   throws javax.net.ssl.SSLException

Throws:
  `javax.net.ssl.SSLException`

#### getLocalAddress

    java.net.SocketAddress getLocalAddress()
                                    throws java.io.IOException

Throws:
  `java.io.IOException`