Package 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
  Description
  `AsyncChannelWrapperSecure(AsynchronousSocketChannel socketChannel, SSLEngine sslEngine)`

- ## Method Summary

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

  - ### AsyncChannelWrapperSecure

    public AsyncChannelWrapperSecure(AsynchronousSocketChannel socketChannel, SSLEngine sslEngine)

- ## Method Details

  - ### 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`