Uses of Interface
net.i2p.data.DataStructure

Packages that use DataStructure
net.i2p.client Interfaces and factories for the base I2P SDK used to develop applications that communicate through I2P. 
net.i2p.crypto These classes provide a number of low-level cryptographic routines. 
net.i2p.data These classes define the common data structures used by the various I2P protocols. 
net.i2p.data.i2cp The Invisible Internet Client Protocol (I2CP) allows applications simplified access to the I2P network without requiring them to deal with the issues involved with the Invisible Internet Network Protocol (I2NP). 
net.i2p.data.i2np This package defines the low-level messages sent between routers, called the Invisible Internet Network Protocol (I2NP). 
net.i2p.data.router Classes formerly in net.i2p.data but moved here as they are only used by the router. 
net.i2p.internal Interface and classes for a router and client within the same JVM to directly pass I2CP messages using Queues instead of serialized messages over socket streams. 
net.i2p.router.networkdb.kademlia The network database, including implementation of floodfills. 
org.klomp.snark.dht   
 

Uses of DataStructure in net.i2p.client
 

Classes in net.i2p.client that implement DataStructure
 class SendMessageOptions
          Advanced options attached to a single outgoing I2CP message.
 

Uses of DataStructure in net.i2p.crypto
 

Classes in net.i2p.crypto that implement DataStructure
 class Hash384
          48 byte hash
 class Hash512
          64 byte hash
 class SHA1Hash
          Because DSAEngine was abusing Hash for 20-byte hashes
 

Uses of DataStructure in net.i2p.data
 

Classes in net.i2p.data that implement DataStructure
 class Certificate
          Defines a certificate that can be attached to various I2P structures, such as RouterIdentity and Destination, allowing routers and clients to help manage denial of service attacks and the network utilization.
 class DatabaseEntry
           Base implementation of common methods for the two data structures that are stored in the netDb, i.e.
 class DataStructureImpl
          Base implementation of all data structures
 class DateAndFlags
          A six-byte Date and 2 bytes of flags, since a Date won't encroach on the top two bytes until the year 10889.
 class Destination
          Defines an end point in the I2P network.
 class Hash
          Defines the hash as defined by the I2P data structure spec.
 class KeyCertificate
          This certificate type gets its own class because it's going to be used a lot.
 class KeysAndCert
          KeysAndCert has a public key, a signing key, and a certificate.
 class Lease
          Defines the proof that a particular router / tunnel is allowed to receive messages for a particular Destination during some period of time.
 class LeaseSet
          Defines the set of leases a destination currently has.
 class Payload
          Defines the actual payload of a message being delivered, including the standard encryption wrapping, as defined by the I2P data structure spec.
 class PrivateKey
          Defines the PrivateKey as defined by the I2P data structure spec.
 class PublicKey
          Defines the PublicKey as defined by the I2P data structure spec.
 class SessionKey
          Defines the SessionKey as defined by the I2P data structure spec.
 class SessionTag
          32 bytes, usually of random data.
 class Signature
          Defines the signature as defined by the I2P data structure spec.
 class SigningPrivateKey
          Defines the SigningPrivateKey as defined by the I2P data structure spec.
 class SigningPublicKey
          Defines the SigningPublicKey as defined by the I2P data structure spec.
 class SimpleDataStructure
          A SimpleDataStructure contains only a single fixed-length byte array.
 class TunnelId
          Defines the tunnel ID that messages are passed through on a set of routers.
 class VerifiedDestination
          Extend Destination with methods to verify its Certificate.
 

Uses of DataStructure in net.i2p.data.i2cp
 

Subinterfaces of DataStructure in net.i2p.data.i2cp
 interface I2CPMessage
          Defines the base functionality of API messages
 

Classes in net.i2p.data.i2cp that implement DataStructure
 class AbuseReason
          Defines the structure for why abuse was reported either by the client to the router or by the router to the client
 class AbuseSeverity
          Provides a severity level (larger numbers are more severe) in association with a client reporting abusive behavior to the router or the router reporting it to the client
 class BandwidthLimitsMessage
          Tell the other side the limits
 class CreateLeaseSetMessage
          Defines the message a client sends to a router when authorizing the LeaseSet
 class CreateSessionMessage
          Defines the message a client sends to a router when establishing a new session.
 class DestLookupMessage
          Request the router look up the dest for a hash
 class DestReplyMessage
          Response to DestLookupMessage.
 class DestroySessionMessage
          Defines the message a client sends to a router when destroying existing session.
 class DisconnectMessage
          Defines the message a client sends to a router when destroying existing session.
 class GetBandwidthLimitsMessage
          Request the router tells us the current bw limits
 class GetDateMessage
          Request the other side to send us what they think the current time is.
 class HostLookupMessage
          Request the router look up the dest for a hash or a host.
 class HostReplyMessage
          Response to HostLookupMessage.
 class I2CPMessageImpl
          Defines the base message implementation.
 class MessageId
          Defines the message ID of a message delivered between a router and a client in a particular session.
 class MessagePayloadMessage
          Defines the payload message a router sends to the client
 class MessageStatusMessage
          Defines the message a router sends to a client about a single message.
 class ReceiveMessageBeginMessage
          Defines the message a client sends to a router when asking the router to start sending a message to it.
 class ReceiveMessageEndMessage
          Defines the message a client sends to a router when asking the router to start sending a message to it.
 class ReconfigureSessionMessage
          Defines the message a client sends to a router when updating the config on an existing session.
 class ReportAbuseMessage
          Defines the message a client sends to a router when asking the router what its address visibility is
 class RequestLeaseSetMessage
          Defines the message a router sends to a client to request that a leaseset be created and signed.
 class RequestVariableLeaseSetMessage
          Defines the message a router sends to a client to request that a leaseset be created and signed.
 class SendMessageExpiresMessage
          Same as SendMessageMessage, but with an expiration to be passed to the router As of 0.8.4, retrofitted to use DateAndFlags.
 class SendMessageMessage
          Defines the message a client sends to a router to ask it to deliver a new message
 class SessionConfig
          Defines the information a client must provide to create a session
 class SessionId
          Defines the token passed between the router and client to associate messages with a particular session.
 class SessionStatusMessage
          Defines the message a router sends to a client indicating the status of the session.
 class SetDateMessage
          Tell the other side what time it is.
 

Uses of DataStructure in net.i2p.data.i2np
 

Subinterfaces of DataStructure in net.i2p.data.i2np
 interface I2NPMessage
          Base interface for all I2NP messages
 

Classes in net.i2p.data.i2np that implement DataStructure
 class DatabaseLookupMessage
          Defines the message a router sends to another router to search for a key in the network database.
 class DatabaseSearchReplyMessage
          Defines the message a router sends to another router in response to a search (DatabaseFindNearest or DatabaseLookup) when it doesn't have the value, specifying what routers it would search.
 class DatabaseStoreMessage
          Defines the message a router sends to another router to test the network database reachability, as well as the reply message sent back.
 class DataMessage
          Defines a message containing arbitrary bytes of data This is what goes in a GarlicClove.
 class DeliveryInstructions
          Contains the delivery instructions for garlic cloves.
 class DeliveryStatusMessage
          Defines the message sent back in reply to a message when requested, containing the private ack id.
 class EncryptedBuildRecord
          ElGamal-encrypted request or response.
 class FastI2NPMessageImpl
          Ignore, but save, the SHA-256 checksum in the full 16-byte header when read in.
 class GarlicClove
          Contains one deliverable message encrypted to a router along with instructions and a certificate 'paying for' the delivery.
 class GarlicMessage
          Defines the wrapped garlic message
 class I2NPMessageImpl
          Defines the base message implementation.
 class TunnelBuildMessage
          The basic build message with 8 records.
 class TunnelBuildMessageBase
          Base for TBM, TBRM, VTBM, VTBRM Retrofitted over them.
 class TunnelBuildReplyMessage
          The basic build reply message with 8 records.
 class TunnelDataMessage
          Defines the message sent between routers as part of the tunnel delivery The tunnel ID is changed in-place by TunnelParticipant.send(), so we can't reuse the checksum on output, but we still subclass FastI2NPMessageImpl so we don't verify the checksum on input...
 class TunnelGatewayMessage
          Defines the message sent between one tunnel's endpoint and another's gateway.
 class UnknownI2NPMessage
          This is similar to DataMessage or GarlicMessage but with a variable message type.
 class VariableTunnelBuildMessage
          Variable number of records.
 class VariableTunnelBuildReplyMessage
          Transmitted from the new outbound endpoint to the creator through a reply tunnel.
 

Uses of DataStructure in net.i2p.data.router
 

Classes in net.i2p.data.router that implement DataStructure
 class RouterAddress
          Defines a method of communicating with a router For efficiency, the options methods and structures here are unsynchronized.
 class RouterIdentity
          Defines the unique identifier of a router, including any certificate or public key.
 class RouterInfo
          Defines the data that a router either publishes to the global routing table or provides to trusted peers.
 

Methods in net.i2p.data.router with type parameters of type DataStructure
static
<T extends DataStructure>
List<T>
SortHelper.sortStructures(Collection<T> dataStructures)
          Sort based on the Hash of the DataStructure.
 

Method parameters in net.i2p.data.router with type arguments of type DataStructure
(package private) static void SortHelper.sortStructureList(List<? extends DataStructure> dataStructures)
          See above.
 

Uses of DataStructure in net.i2p.internal
 

Classes in net.i2p.internal that implement DataStructure
 class PoisonI2CPMessage
          For marking end-of-queues in a standard manner.
 

Uses of DataStructure in net.i2p.router.networkdb.kademlia
 

Classes in net.i2p.router.networkdb.kademlia that implement DataStructure
(package private)  class LocalHash
          Pull the caching used only by KBucketImpl out of Hash and put it here.
 

Uses of DataStructure in org.klomp.snark.dht
 

Classes in org.klomp.snark.dht that implement DataStructure
(package private)  class InfoHash
          A 20-byte SHA1 info hash
 class NID
          A 20-byte peer ID, used as a Map key in lots of places.
(package private)  class NodeInfo
           
(package private)  class Peer
          A single peer for a single torrent.
(package private)  class TokenKey
          Used to index incoming Tokens