org.apache.tomcat.websocket

## Class AsyncChannelWrapperSecure

- java.lang.Object
- - org.apache.tomcat.websocket.AsyncChannelWrapperSecure

- All Implemented Interfaces:
    AsyncChannelWrapper

      public class AsyncChannelWrapperSecure
      extends Object
      implements AsyncChannelWrapper

  Wraps the `AsynchronousSocketChannel` with SSL/TLS. This needs a lot more testing before it can be considered robust.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AsyncChannelWrapperSecure(AsynchronousSocketChannel socketChannel, SSLEngine sslEngine)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()`
    `SocketAddress` | `getLocalAddress()`
    `Future<Void>` | `handshake()`
    `Future<Integer>` | `read(ByteBuffer dst)`
    `<B,A extends B> void` | `read(ByteBuffer dst, A attachment, CompletionHandler<Integer,B> handler)`
    `Future<Integer>` | `write(ByteBuffer src)`
    `<B,A extends B> void` | `write(ByteBuffer[] srcs, int offset, int length, long timeout, TimeUnit unit, A attachment, CompletionHandler<Long,B> handler)`

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

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

- - ### Constructor Detail

    - #### AsyncChannelWrapperSecure

          public AsyncChannelWrapperSecure(AsynchronousSocketChannel socketChannel,
                                   SSLEngine sslEngine)

  - ### Method Detail

    - #### read

          public Future<Integer> read(ByteBuffer dst)

      Specified by:
        `read` in interface `AsyncChannelWrapper`

    - #### read

          public <B,A extends B> void read(ByteBuffer dst,
                                  A attachment,
                                  CompletionHandler<Integer,B> handler)

      Specified by:
        `read` in interface `AsyncChannelWrapper`

    - #### write

          public Future<Integer> write(ByteBuffer src)

      Specified by:
        `write` in interface `AsyncChannelWrapper`

    - #### write

          public <B,A extends B> void write(ByteBuffer[] srcs,
                                   int offset,
                                   int length,
                                   long timeout,
                                   TimeUnit unit,
                                   A attachment,
                                   CompletionHandler<Long,B> handler)

      Specified by:
        `write` in interface `AsyncChannelWrapper`

    - #### close

          public void close()

      Specified by:
        `close` in interface `AsyncChannelWrapper`

    - #### handshake

          public Future<Void> handshake()
                                 throws SSLException

      Specified by:
        `handshake` in interface `AsyncChannelWrapper`
      Throws:
        `SSLException`

    - #### getLocalAddress

          public SocketAddress getLocalAddress()
                                        throws IOException

      Specified by:
        `getLocalAddress` in interface `AsyncChannelWrapper`
      Throws:
        `IOException`

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.