Package com.sas.iom.orb

# Class SSLSocketChannel

java.lang.Object
java.nio.channels.spi.AbstractInterruptibleChannel
java.nio.channels.SelectableChannel
java.nio.channels.spi.AbstractSelectableChannel
java.nio.channels.SocketChannel
com.sas.iom.orb.SSLSocketChannel

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `ByteChannel`, `Channel`, `GatheringByteChannel`, `InterruptibleChannel`, `NetworkChannel`, `ReadableByteChannel`, `ScatteringByteChannel`, `WritableByteChannel`

public final class SSLSocketChannel extends SocketChannel
SocketChannel implementation that encloses all transmitted data in an SSL envelope. This is not a complete SSL implementation of a java.nio.channels provider. It is just a wrapper around SocketChannel. It cannot be registered with a selector. The wrapped channel should be registered instead.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `SSLSocketChannel(SelectorProvider provider)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `SocketChannel`
  `bind(SocketAddress arg0)`
  `boolean`
  `connect(SocketAddress remote)`
  `static SSLSocketChannel`
  `createSocketChannel(SocketChannel channel, String host, int port, boolean close)`
  `boolean`
  `finishConnect()`
  `SocketAddress`
  `getLocalAddress()`
  `<T> T`
  `getOption(SocketOption<T> arg0)`
  `SocketAddress`
  `getRemoteAddress()`
  `SocketChannel`
  `getSelectableChannel()`
  `boolean`
  `hasRemaining()`
  `protected void`
  `implCloseSelectableChannel()`
  `protected void`
  `implConfigureBlocking(boolean block)`
  `boolean`
  `isConnected()`
  `boolean`
  `isConnectionPending()`
  `int`
  `read(ByteBuffer dst)`
  `long`
  `read(ByteBuffer[] dsts, int offset, int length)`
  `protected void`
  `setChannel(SocketChannel channel)`
  This method has protected access instead of private access only to facilitate unit testing.
  `<T> SocketChannel`
  `setOption(SocketOption<T> arg0, T arg1)`
  `protected void`
  `shutdownHandshake()`
  `SocketChannel`
  `shutdownInput()`
  `SocketChannel`
  `shutdownOutput()`
  `Socket`
  `socket()`
  `Set<SocketOption<?>>`
  `supportedOptions()`
  `int`
  `write(ByteBuffer src)`
  `long`
  `write(ByteBuffer[] srcs, int offset, int length)`

  ### Methods inherited from class java.nio.channels.SocketChannel

  `open, open, open, read, validOps, write`

  ### Methods inherited from class java.nio.channels.spi.AbstractSelectableChannel

  `blockingLock, configureBlocking, implCloseChannel, isBlocking, isRegistered, keyFor, provider, register`

  ### Methods inherited from class java.nio.channels.SelectableChannel

  `register`

  ### Methods inherited from class java.nio.channels.spi.AbstractInterruptibleChannel

  `begin, close, end, isOpen`

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

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

  ### Methods inherited from interface java.nio.channels.Channel

  `isOpen`

- ## Constructor Details

  - ### SSLSocketChannel

    protected SSLSocketChannel(SelectorProvider provider)

- ## Method Details

  - ### socket

    public Socket socket()
    Specified by:
      `socket` in class `SocketChannel`

  - ### isConnected

    public boolean isConnected()
    Specified by:
      `isConnected` in class `SocketChannel`

  - ### isConnectionPending

    public boolean isConnectionPending()
    Specified by:
      `isConnectionPending` in class `SocketChannel`

  - ### connect

    public boolean connect(SocketAddress remote) throws IOException
    Specified by:
      `connect` in class `SocketChannel`
    Throws:
      `IOException`

  - ### finishConnect

    public boolean finishConnect() throws IOException
    Specified by:
      `finishConnect` in class `SocketChannel`
    Throws:
      `IOException`

  - ### read

    public int read(ByteBuffer dst) throws IOException
    Specified by:
      `read` in interface `ReadableByteChannel`
    Specified by:
      `read` in class `SocketChannel`
    Throws:
      `IOException`

  - ### read

    public long read(ByteBuffer[] dsts, int offset, int length) throws IOException
    Specified by:
      `read` in interface `ScatteringByteChannel`
    Specified by:
      `read` in class `SocketChannel`
    Throws:
      `IOException`

  - ### write

    public int write(ByteBuffer src) throws IOException
    Specified by:
      `write` in interface `WritableByteChannel`
    Specified by:
      `write` in class `SocketChannel`
    Throws:
      `IOException`

  - ### write

    public long write(ByteBuffer[] srcs, int offset, int length) throws IOException
    Specified by:
      `write` in interface `GatheringByteChannel`
    Specified by:
      `write` in class `SocketChannel`
    Throws:
      `IOException`

  - ### getSelectableChannel

    public SocketChannel getSelectableChannel()

  - ### hasRemaining

    public boolean hasRemaining()

  - ### createSocketChannel

    public static SSLSocketChannel createSocketChannel(SocketChannel channel, String host, int port, boolean close) throws IOException
    Throws:
      `IOException`

  - ### implCloseSelectableChannel

    protected void implCloseSelectableChannel() throws IOException
    Specified by:
      `implCloseSelectableChannel` in class `AbstractSelectableChannel`
    Throws:
      `IOException`

  - ### shutdownHandshake

    protected void shutdownHandshake() throws IOException
    Throws:
      `IOException`

  - ### implConfigureBlocking

    protected void implConfigureBlocking(boolean block) throws IOException
    Specified by:
      `implConfigureBlocking` in class `AbstractSelectableChannel`
    Throws:
      `IOException`

  - ### setChannel

    protected void setChannel(SocketChannel channel)
    This method has protected access instead of private access only to facilitate unit testing. It should not be called outside this class in production code.
    Parameters:
      `channel` - the underlying channel

  - ### getOption

    public <T> T getOption(SocketOption<T> arg0) throws IOException
    Throws:
      `IOException`

  - ### supportedOptions

    public Set<SocketOption<?>> supportedOptions()

  - ### bind

    public SocketChannel bind(SocketAddress arg0) throws IOException
    Specified by:
      `bind` in interface `NetworkChannel`
    Specified by:
      `bind` in class `SocketChannel`
    Throws:
      `IOException`

  - ### getLocalAddress

    public SocketAddress getLocalAddress() throws IOException
    Specified by:
      `getLocalAddress` in interface `NetworkChannel`
    Specified by:
      `getLocalAddress` in class `SocketChannel`
    Throws:
      `IOException`

  - ### getRemoteAddress

    public SocketAddress getRemoteAddress() throws IOException
    Specified by:
      `getRemoteAddress` in class `SocketChannel`
    Throws:
      `IOException`

  - ### setOption

    public <T> SocketChannel setOption(SocketOption<T> arg0, T arg1) throws IOException
    Specified by:
      `setOption` in interface `NetworkChannel`
    Specified by:
      `setOption` in class `SocketChannel`
    Throws:
      `IOException`

  - ### shutdownInput

    public SocketChannel shutdownInput() throws IOException
    Specified by:
      `shutdownInput` in class `SocketChannel`
    Throws:
      `IOException`

  - ### shutdownOutput

    public SocketChannel shutdownOutput() throws IOException
    Specified by:
      `shutdownOutput` in class `SocketChannel`
    Throws:
      `IOException`