package net.i2p.data
Common data structures used by the I2P protocols: Destination, LeaseSet, PublicKey, Signature, Certificate and their friends. All implement the Data interface for serialization to and from the network wire format.
Router-specific structures (RouterInfo, RouterIdentity, RouterAddress) are in net.i2p.data.router; the I2CP wire messages are in net.i2p.data.i2cp.
See also: RFC 1951 (DEFLATE) • RFC 1952 (GZIP) • RFC 4648 (Base32, Base64 and Hex).
- ClassDescriptionEncodes and decodes to and from Base32 notation.Encodes and decodes to and from Base64 notation.Cache data for EdDSA key blinding as specified in Proposal 123: New NetDb Entries.Wrap up an array of bytes so that they can be compared and placed in hashes, maps, and the like.Extensible certificate system for I2P structures providing metadata and capabilities.An immutable null certificate.Base class for data structures stored in the I2P network database (NetDb).Thrown when the data was not available to read or write a DataStructure.Comprehensive utility class for I2P data structure serialization, encoding, and manipulation.The shared buffer for
DataHelper.copy(InputStream, OutputStream), resolved once for the same reason and in the same way asDataHelper.DecompressCacheHolder.The shared output buffer forDataHelper.decompress(byte[]).Base interface defining standard binary representation for I2P data structures.Base implementation of all data structures.A six-byte Date and 2 bytes of flags, since a Date won't encroach on the top two bytes until the year 10889.Defines an endpoint in the I2P network that can receive messages.Immutable OrderedProperties, to reduce object churn in LS2 where it's expected to be empty.Implementation of EncryptedLeaseSet as specified in Proposal 123: New NetDb Entries.A 32-byte SHA-256 hash, used throughout I2P as a destination, router, or tunnel identifier and as an integrity value for hashed data.Specialized certificate for defining cryptographic key types used in I2P identities.An immutable ElG/ECDSA-256 certificate.An immutable ElG/Ed25519 certificate.An immutable X25519/Ed25519 certificate.Container for cryptographic keys and certificate as used by I2P identities.Authorization grant proving a router/tunnel may receive messages for a destination.Implementation of Lease2 as specified in Proposal 123: New NetDb Entries.Defines the set of leases that a destination currently has available for routing messages.Implementation of LeaseSet2 as specified in Proposal 123: New NetDb Entries.Implementation of MetaLease as specified in Proposal 123: New NetDb Entries.Implementation of MetaLeaseSet as specified in Proposal 123: New NetDb Entries.Message payload container for I2P communications with encryption support.Private (secret) key for the asymmetric encryption of an I2P destination.This helper class reads and writes files in the same "eepPriv.dat" format used by the client code.Cryptographic public key for asymmetric encryption in I2P.Interface for transforming a hash into the key under which it is stored in the network database (KBucketSet).SDSCache<V extends SimpleDataStructure>A least recently used cache with a max size, for SimpleDataStructures.An int-keyed, weak-value cache, replacing a ConcurrentHashMap<Integer, WeakReference<V>> so the hot lookup neither hashes an Integer nor boxes the key - the first 4 bytes of a SimpleDataStructure almost always fall outside the Integer cache.Replaced wholesale (never resized in place) so a reader always sees a complete table.Saves the cache when the router shuts down.Cryptographic session key for symmetric encryption in I2P.32 bytes, usually of random data.Cryptographic signature implementation for I2P data structures and identity verification.Cryptographic private key for digital signature generation in I2P.Cryptographic public key for digital signature verification in I2P.Base class for I2P data structures holding a single byte array in a protectedSimpleDataStructure._datafield.Tunnel identifier: a 32-bit unsigned value, held in a long, that names a tunnel within the network database and in lease sets.Extend Destination with methods to verify its Certificate.