## Uses of Class
net.i2p.i2ptunnel.I2PTunnelTask

- Packages that use I2PTunnelTask
  Package | Description
  --- | ---
  net.i2p.i2ptunnel | Implementation of preconfigured tunnels for both clients and servers, with a comprehensive UI for tunnel management and configuration.
  net.i2p.i2ptunnel.irc | IRC-specific tunnel enhancements including protocol filters and DCC (Direct Client-to-Client) connection handlers for IRC client tunnels.
  net.i2p.i2ptunnel.socks | SOCKS protocol tunnel implementation for I2P, supporting SOCKS 4, 4a, and 5.
  net.i2p.i2ptunnel.streamr | Special-purpose tunnels for streaming UDP clients and servers, optimized for audio and video streaming applications.
  net.i2p.i2ptunnel.udpTunnel | UDP tunnel implementation for I2PTunnel.

- - ### Uses of I2PTunnelTask in net.i2p.i2ptunnel

    Subclasses of I2PTunnelTask in net.i2p.i2ptunnel
    Modifier and Type | Class and Description
    --- | ---
    `class` | `I2Ping` I2P ping utility for CLI use.
    `class` | `I2PTunnelClient` Standard I2P tunnel client for connecting to I2P destinations
    `class` | `I2PTunnelClientBase` Abstract base class for I2P client tunnels with common functionality.
    `class` | `I2PTunnelConnectClient` SSL tunnel through HTTP proxy using CONNECT method.
    `class` | `I2PTunnelHTTPBidirProxy` HTTP proxy reusing server's I2PSocketManager without outproxy capability.
    `class` | `I2PTunnelHTTPBidirServer` Bidirectional HTTP server tunnel combining server and client functionality.
    `class` | `I2PTunnelHTTPClient` HTTP proxy that tunnels requests through I2P.
    `class` | `I2PTunnelHTTPClientBase` Common things for HTTPClient and ConnectClient Retrofit over them in 0.8.2
    `class` | `I2PTunnelHTTPServer` HTTP server tunnel that filters headers and provides compression.
    `class` | `I2PTunnelIRCClient` IRC client tunnel with DCC support and filtering.
    `class` | `I2PTunnelIRCServer` IRC server tunnel that filters registration to pass client destination hash as hostname.
    `class` | `I2PTunnelServer` Base I2P tunnel server for handling incoming connections.

    Fields in net.i2p.i2ptunnel declared as I2PTunnelTask
    Modifier and Type | Field and Description
    --- | ---
    `protected I2PTunnelTask` | I2PTunnelServer.`task`

  - ### Uses of I2PTunnelTask in net.i2p.i2ptunnel.irc

    Subclasses of I2PTunnelTask in net.i2p.i2ptunnel.irc
    Modifier and Type | Class and Description
    --- | ---
    `class` | `I2PTunnelDCCClient` A standard client, using an existing socket manager.
    `class` | `I2PTunnelDCCServer` A standard server that only answers for registered ports, and each port can only be used once.

  - ### Uses of I2PTunnelTask in net.i2p.i2ptunnel.socks

    Subclasses of I2PTunnelTask in net.i2p.i2ptunnel.socks
    Modifier and Type | Class and Description
    --- | ---
    `class` | `I2PSOCKSIRCTunnel` SOCKS tunnel specialized for IRC traffic with I2P filtering and security.
    `class` | `I2PSOCKSTunnel` SOCKS proxy server that routes TCP connections through I2P network.
    `class` | `SOCKSUDPTunnel` A Datagram Tunnel that can have multiple bidirectional ports on the UDP side.

  - ### Uses of I2PTunnelTask in net.i2p.i2ptunnel.streamr

    Subclasses of I2PTunnelTask in net.i2p.i2ptunnel.streamr
    Modifier and Type | Class and Description
    --- | ---
    `class` | `StreamrConsumer` Streamr consumer that acts as an I2P client and UDP server, receiving data from I2P destinations and forwarding it to a configured UDP host/port
    `class` | `StreamrProducer` Streamr producer that acts as an I2P server and UDP client, receiving UDP data on a configured port and forwarding it through I2P

  - ### Uses of I2PTunnelTask in net.i2p.i2ptunnel.udpTunnel

    Subclasses of I2PTunnelTask in net.i2p.i2ptunnel.udpTunnel
    Modifier and Type | Class and Description
    --- | ---
    `class` | `I2PTunnelUDPClientBase` Base client class that sets up an I2P Datagram client destination.
    `class` | `I2PTunnelUDPServerBase` Base client class that sets up an I2P Datagram server destination.