# Package net.i2p.router.transport

Transport layer implementations and management for I2P network communication.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  FIFOBandwidthLimiter.CompleteListener | Listener for bandwidth request completion events.
  FIFOBandwidthLimiter.Request | A bandwidth request, either inbound or outbound.
  Transport | Core interface for I2P transport protocols.
  TransportEventListener | Handles transport events including message receipt and address changes.
  UPnPScannerCallback | For Android MulticastLock.

- Class Summary
  Class | Description
  --- | ---
  CommSystemFacadeImpl | Primary implementation of the communication system facade for I2P network operations.
  CommSystemFacadeImpl.CacheEntry | Cache entry for IP address and hostname mappings.
  FIFOBandwidthLimiter | FIFO-based bandwidth limiter for managing inbound and outbound traffic.
  FIFOBandwidthRefiller | Bandwidth token refiller for FIFO-based bandwidth limiting.
  GeoIP | Manage geoip lookup in a file with the Tor geoip format.
  GeoIPv6 | Generate compressed geoipv6.dat.gz file, and lookup entries in it.
  GetBidsJob | Retrieves transport bids for outbound message delivery.
  OutboundMessageRegistry | Tracks outbound messages.
  StrictCountries | Maintains list of countries with strict application restrictions.
  TransportBid | Represents a transport's bid for message delivery cost.
  TransportImpl | Defines a way to send a message to another peer and start listening for messages
  TransportManager | Central coordinator for all I2P transport protocols.
  TransportManager.Port | Port configuration for transport protocols.
  TransportUtil | Utility class providing common transport operations and configurations.
  UPnP | This (and all in org/freenet, org/cybergarage, org/xmlpull) grabbed from freenet SVN, mid-February 2009 by zzz.
  UPnP.IPv6ForwardPort | IPv6-specific port forwarding configuration.
  UPnPManager | Universal Plug and Play (UPnP) manager for NAT traversal and port forwarding.

- Enum Summary
  Enum | Description
  --- | ---
  Transport.AddressSource | Source of transport address configuration.
  TransportUtil.IPv6Config | IPv6 configuration options for transports.

## Package net.i2p.router.transport Description

Transport layer implementations and management for I2P network communication.

This package provides the transport system that enables I2P to communicate over various underlying network protocols. The transport layer sits below the I2P routing layer and above the network stack, providing abstraction and management of different communication methods.

Key Components:

- TransportManager - Coordinates all transport protocols
- Transport - Base interface for transport implementations
- CommSystemFacade - High-level communication system interface
- TransportImpl - Base implementation for transports
- TransportEventListener - Handles transport events
- TransportBidirectional - Bidirectional transport support
- TransportEstablishment - Connection establishment management

Supported Transport Types:

- NTCP2 - New TCP transport with improved security and performance
- SSU - Secure UDP transport for firewall traversal
- HTTP - Optional HTTP transport for restrictive networks
- Custom transports - Extensible framework for new protocols

Main Functionality:

- Transport protocol management and coordination
- Connection establishment and maintenance
- Message delivery over various protocols
- Transport selection and failover
- Bandwidth management and throttling
- Connection monitoring and statistics
- Transport-specific encryption and authentication
- NAT traversal and firewall compatibility

Usage Notes:

- Provides abstraction over underlying network protocols
- Supports multiple simultaneous transports
- Essential for network connectivity and peer communication
- Integrates with tunnel and routing systems