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)
     
    createSocketChannel(SocketChannel channel, String host, int port, boolean close)
     
    boolean
     
    SocketAddress
     
    <T> T
    getOption(SocketOption<T> arg0)
     
    SocketAddress
     
    SocketChannel
     
    boolean
     
    protected void
     
    protected void
    implConfigureBlocking(boolean block)
     
    boolean
     
    boolean
     
    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
     
    SocketChannel
     
    SocketChannel
     
    Socket
     
    Set<SocketOption<?>>
     
    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