# Hierarchy For Package net.i2p.i2ptunnel

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - java.util.concurrent.AbstractExecutorService (implements java.util.concurrent.ExecutorService)
    - java.util.concurrent.ThreadPoolExecutor
      - net.i2p.i2ptunnel.TunnelControllerGroup.CustomThreadPoolExecutor
  - net.i2p.i2ptunnel.BlacklistBean
  - net.i2p.i2ptunnel.BlocklistManager
  - net.i2p.i2ptunnel.ConnThrottler
  - net.i2p.util.EventDispatcherImpl (implements net.i2p.util.EventDispatcher)
    - net.i2p.i2ptunnel.I2PTunnel (implements net.i2p.i2ptunnel.Logging)
    - net.i2p.i2ptunnel.I2PTunnelTask
      - net.i2p.i2ptunnel.I2PTunnelClientBase (implements java.lang.Runnable)
        - net.i2p.i2ptunnel.I2Ping
        - net.i2p.i2ptunnel.I2PTunnelClient
        - net.i2p.i2ptunnel.I2PTunnelHTTPClientBase (implements java.lang.Runnable)
          - net.i2p.i2ptunnel.I2PTunnelConnectClient (implements java.lang.Runnable)
          - net.i2p.i2ptunnel.I2PTunnelHTTPClient (implements java.lang.Runnable)
            - net.i2p.i2ptunnel.I2PTunnelHTTPBidirProxy (implements java.lang.Runnable)
        - net.i2p.i2ptunnel.I2PTunnelIRCClient
      - net.i2p.i2ptunnel.I2PTunnelServer (implements java.lang.Runnable)
        - net.i2p.i2ptunnel.I2PTunnelHTTPServer
          - net.i2p.i2ptunnel.I2PTunnelHTTPBidirServer
        - net.i2p.i2ptunnel.I2PTunnelIRCServer (implements java.lang.Runnable)
  - net.i2p.i2ptunnel.HttpHeaderFormatter
  - net.i2p.i2ptunnel.I2PTunnelHTTPClientBase.OnProxySuccess (implements net.i2p.i2ptunnel.I2PTunnelRunner.SuccessCallback)
  - net.i2p.i2ptunnel.I2PTunnelHTTPClientBase.OnTimeout (implements net.i2p.i2ptunnel.I2PTunnelRunner.FailCallback)
  - net.i2p.i2ptunnel.MimeTypeDetector
  - java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
    - java.io.FilterOutputStream
      - net.i2p.i2ptunnel.HTTPResponseOutputStream
  - net.i2p.i2ptunnel.RequestValidator
  - net.i2p.i2ptunnel.RequestValidator.ValidationResult
  - net.i2p.i2ptunnel.SecurityHeaderBuilder
  - net.i2p.i2ptunnel.SSLClientUtil
  - java.lang.Thread (implements java.lang.Runnable)
    - net.i2p.util.I2PThread
      - net.i2p.util.I2PAppThread
        - net.i2p.i2ptunnel.I2PTunnelOutproxyRunner
        - net.i2p.i2ptunnel.I2PTunnelRunner (implements net.i2p.client.streaming.I2PSocket.SocketErrorListener, net.i2p.i2ptunnel.util.LimitOutputStream.DoneCallback)
          - net.i2p.i2ptunnel.I2PTunnelHTTPClientRunner
        - net.i2p.i2ptunnel.InternalSocketRunner
  - net.i2p.i2ptunnel.TunnelController (implements net.i2p.i2ptunnel.Logging)
  - net.i2p.i2ptunnel.TunnelControllerGroup (implements net.i2p.app.ClientApp)

## Interface Hierarchy

- net.i2p.i2ptunnel.I2PTunnel.ConnectionEventListener
- net.i2p.i2ptunnel.I2PTunnelRunner.FailCallback
- net.i2p.i2ptunnel.I2PTunnelRunner.SuccessCallback
- net.i2p.i2ptunnel.Logging

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - net.i2p.i2ptunnel.I2PTunnelHTTPClientBase.AuthResult
    - net.i2p.i2ptunnel.TunnelController.TunnelState