AsyncChannelWrapper (Apache Tomcat 9.0.68 API Documentation)

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
    Modifier and Type | Method | Description
    --- | --- | ---
    `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`