# Package net.i2p.data.router

Router-specific data structures and identity management classes for I2P.

See: Description

- Class Summary
  Class | Description
  --- | ---
  RouterAddress | Defines a method of communicating with a router For efficiency, the options methods and structures here are unsynchronized.
  RouterIdentity | Defines the unique identifier of a router, including any certificate or public key.
  RouterInfo | Defines the data that a router either publishes to the global routing table or provides to trusted peers.
  RouterKeyGenerator | Generates routing keys from hashes using date-based modification to prevent Sybil attacks.
  RouterPrivateKeyFile | Handles router private key files, extending PrivateKeyFile to provide RouterIdentity access instead of Destination.
  SortHelper | Utility class for sorting DataStructure objects by their hash.

## Package net.i2p.data.router Description

Router-specific data structures and identity management classes for I2P.

This package contains core data structures that are used exclusively by the I2P router for managing router identities, addresses, and cryptographic operations. These classes were moved from the general net.i2p.data package to separate router-specific functionality from client-facing APIs.

Key Components:

- RouterAddress - Represents a router's transport address and configuration
- RouterIdentity - Contains a router's cryptographic identity and signing keys
- RouterInfo - Complete router information including addresses and capabilities
- RouterKeyGenerator - Generates cryptographic keys for router operations
- RouterPrivateKeyFile - Manages storage and access to router private keys
- SortHelper - Utilities for sorting and organizing router data

Main Functionality:

- Router identity and address management
- Cryptographic key generation and storage
- Router information serialization and deserialization
- Network address configuration and transport options
- Router capability and feature advertisement

Usage Notes:

- These classes are for internal router use only
- Client applications should use higher-level APIs instead
- RouterInfo is the primary data structure exchanged between routers
- RouterIdentity provides the foundation for router authentication