## Hierarchy For Package net.i2p.sam

Package Hierarchies:
  All Packages

## Class Hierarchy

- java.lang.Object
  - net.i2p.sam.SAMBridge (implements java.lang.Runnable)
  - net.i2p.sam.SAMHandler (implements 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
    - net.i2p.sam.SAMDatagramSession
      - net.i2p.sam.SAMv3DatagramSession (implements net.i2p.sam.SAMDatagramReceiver, net.i2p.sam.SAMv3Handler.Session)
    - net.i2p.sam.SAMRawSession
      - net.i2p.sam.SAMv3RawSession (implements net.i2p.sam.SAMRawReceiver, net.i2p.sam.SAMv3Handler.Session)
  - net.i2p.sam.SAMMessageSession.SAMMessageSessionHandler (implements net.i2p.client.I2PSessionListener, java.lang.Runnable)
  - net.i2p.sam.SAMStreamSession
    - net.i2p.sam.SAMv2StreamSession
    - net.i2p.sam.SAMv3StreamSession (implements net.i2p.sam.SAMv3Handler.Session)
  - 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.SAMStreamSession.v1StreamSender
    - net.i2p.sam.SAMv2StreamSession.v2StreamSender
  - net.i2p.sam.SAMUtils
  - net.i2p.sam.SAMv2StreamSession.StreamConnector (implements java.lang.Runnable)
  - net.i2p.sam.SAMv3Handler.DatagramServer
  - net.i2p.sam.SAMv3Handler.DatagramServer.Listener (implements java.lang.Runnable)
  - net.i2p.sam.SAMv3Handler.MessageDispatcher (implements java.lang.Runnable)
  - net.i2p.sam.SAMv3Handler.SessionRecord
  - net.i2p.sam.SAMv3Handler.SessionsDB
  - java.lang.Thread (implements java.lang.Runnable)
    - net.i2p.sam.SAMv3StreamSession.Pipe
    - net.i2p.sam.SAMv3StreamSession.SocketForwarder
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - net.i2p.sam.SAMBridge.HelpRequested
      - net.i2p.sam.SAMException
      - net.i2p.sam.SAMInvalidDirectionException
      - net.i2p.sam.SAMUtils.InvalidDestination
      - net.i2p.sam.SAMv3Handler.SessionsDB.ExistingDest
      - net.i2p.sam.SAMv3Handler.SessionsDB.ExistingId

## Interface Hierarchy

- net.i2p.sam.SAMDatagramReceiver
- net.i2p.sam.SAMRawReceiver
- net.i2p.sam.SAMStreamReceiver
- net.i2p.sam.SAMv3Handler.Session