# Hierarchy For Package net.i2p.sam

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - java.nio.channels.spi.AbstractInterruptibleChannel (implements java.nio.channels.Channel, java.nio.channels.InterruptibleChannel)
    - java.nio.channels.SelectableChannel (implements java.nio.channels.Channel)
      - java.nio.channels.spi.AbstractSelectableChannel
        - java.nio.channels.ServerSocketChannel (implements java.nio.channels.NetworkChannel)
          - net.i2p.sam.SSLServerSocketChannel
        - java.nio.channels.SocketChannel (implements java.nio.channels.ByteChannel, java.nio.channels.GatheringByteChannel, java.nio.channels.NetworkChannel, java.nio.channels.ScatteringByteChannel)
          - net.i2p.sam.SSLSocketChannel
  - java.io.Reader (implements java.io.Closeable, java.lang.Readable)
    - net.i2p.sam.UTF8Reader
  - net.i2p.sam.ReadLine
  - net.i2p.sam.SAMBridge (implements net.i2p.app.ClientApp, java.lang.Runnable)
  - net.i2p.sam.SAMHandler (implements net.i2p.sam.Handler, java.lang.Runnable)
    - net.i2p.sam.SAMv1Handler (implements net.i2p.sam.SAMDatagramReceiver, net.i2p.sam.SAMRawReceiver, net.i2p.sam.SAMStreamReceiver)
      - net.i2p.sam.SAMv2Handler (implements net.i2p.sam.SAMDatagramReceiver, net.i2p.sam.SAMRawReceiver, net.i2p.sam.SAMStreamReceiver)
      - net.i2p.sam.SAMv3Handler
  - net.i2p.sam.SAMHandlerFactory
  - net.i2p.sam.SAMMessageSession (implements net.i2p.sam.SAMMessageSess)
    - net.i2p.sam.SAMDatagramSession
      - net.i2p.sam.SAMv3DatagramSession (implements net.i2p.sam.SAMDatagramReceiver, net.i2p.sam.Session)
    - net.i2p.sam.SAMRawSession
      - net.i2p.sam.SAMv3RawSession (implements net.i2p.sam.SAMRawReceiver, net.i2p.sam.Session)
  - net.i2p.sam.SAMSecureSession (implements net.i2p.sam.SAMSecureSessionInterface)
  - net.i2p.sam.SAMStreamSession (implements net.i2p.sam.SAMMessageSess)
    - net.i2p.sam.SAMv2StreamSession
    - net.i2p.sam.SAMv3StreamSession (implements net.i2p.sam.Session)
      - net.i2p.sam.MasterSession (implements net.i2p.client.I2PSessionMuxedListener, net.i2p.sam.SAMDatagramReceiver, net.i2p.sam.SAMMessageSess, net.i2p.sam.SAMRawReceiver)
  - net.i2p.sam.SAMStreamSession.DisconnectListener (implements net.i2p.client.streaming.I2PSocketManager.DisconnectListener)
  - net.i2p.sam.SAMStreamSession.SAMStreamSessionServer (implements java.lang.Runnable)
  - net.i2p.sam.SAMStreamSession.SAMStreamSessionSocketReader (implements java.lang.Runnable)
    - net.i2p.sam.SAMStreamSession.SAMv1StreamSessionSocketReader
      - net.i2p.sam.SAMv2StreamSession.SAMv2StreamSessionSocketReader
  - net.i2p.sam.SAMStreamSession.StreamSender (implements java.lang.Runnable)
  - net.i2p.sam.SAMUtils
  - net.i2p.sam.SAMv3DatagramServer (implements net.i2p.sam.Handler)
  - net.i2p.sam.SessionRecord
  - net.i2p.sam.SessionsDB
  - net.i2p.sam.SSLUtil
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - net.i2p.sam.SAMException
      - net.i2p.sam.SAMInvalidDirectionException
      - net.i2p.sam.SessionsDB.ExistingDestException
      - net.i2p.sam.SessionsDB.ExistingIdException

## Interface Hierarchy

- java.lang.AutoCloseable
  - java.io.Closeable
    - net.i2p.sam.SAMMessageSess
      - net.i2p.sam.Session
- net.i2p.sam.Handler
- net.i2p.sam.SAMDatagramReceiver
- net.i2p.sam.SAMRawReceiver
- net.i2p.sam.SAMSecureSessionInterface
- net.i2p.sam.SAMStreamReceiver