Packages that use GarlicClove
Package
Description
Low-level messages sent between routers - the Invisible Internet Network Protocol (I2NP).
The Double Ratchet with X25519 key agreement and ECIES hybrid encryption, used by the NTCP2 and SSU transports for session encryption.
Garlic message creation, parsing and handling, and the outbound message jobs: one-shot sends, source routing and delivery status handling.
Uses of GarlicClove in net.i2p.data.i2np
Fields in net.i2p.data.i2np declared as GarlicCloveModifier and TypeFieldDescriptionprivate final GarlicClove[]GarlicClovePool.poolThe clove objects held for reuse.Methods in net.i2p.data.i2np that return GarlicCloveMethods in net.i2p.data.i2np with parameters of type GarlicCloveModifier and TypeMethodDescriptionvoidGarlicClovePool.release(GarlicClove clove) Release a clove back to the pool for reuse.Uses of GarlicClove in net.i2p.router.crypto.ratchet
Fields in net.i2p.router.crypto.ratchet declared as GarlicCloveModifier and TypeFieldDescriptionprivate GarlicCloveRatchetPayload.GarlicBlock.cThe clove carried in the garlic block.private static final GarlicClove[]ECIESAEADEngine.NO_GARLICEmpty clove array for failed ElGamal decryptions.Fields in net.i2p.router.crypto.ratchet with type parameters of type GarlicCloveModifier and TypeFieldDescriptionfinal List<GarlicClove> ECIESAEADEngine.PLCallback.cloveSetNon-null, may be empty.Methods in net.i2p.router.crypto.ratchet with parameters of type GarlicCloveModifier and TypeMethodDescription(package private) RatchetPayload.GarlicBlockECIESAEADEngine.BlockPool.acquireClove(GarlicClove clove) Take a pooled GarlicBlock for this clove, or allocate one.voidECIESAEADEngine.PLCallback.gotGarlic(GarlicClove clove) Process a garlic clove field from the payload.voidRatchetPayload.PayloadCallback.gotGarlic(GarlicClove clove) Receive a garlic clove block.(package private) voidRatchetPayload.GarlicBlock.setClove(GarlicClove clove) Set the clove carried by this block, for reuse.Method parameters in net.i2p.router.crypto.ratchet with type arguments of type GarlicCloveModifier and TypeMethodDescriptionprivate voidECIESAEADEngine.setResponseTimer(PublicKey from, List<GarlicClove> cloveSet, RatchetSKM skm) Schedules the delayed reply to an NSR message.private voidECIESAEADEngine.setResponseTimerNS(PublicKey from, List<GarlicClove> cloveSet, RatchetSKM skm) Schedules the delayed reply to an NS message.Constructors in net.i2p.router.crypto.ratchet with parameters of type GarlicCloveUses of GarlicClove in net.i2p.router.message
Fields in net.i2p.router.message declared as GarlicCloveModifier and TypeFieldDescriptionprivate final GarlicClove[]CloveSet._clovesThe cloves carried in the set.Methods in net.i2p.router.message that return GarlicCloveModifier and TypeMethodDescriptionprivate static GarlicCloveGarlicMessageBuilder.buildECIESClove(RouterContext ctx, PayloadGarlicConfig config) Build a single clove.CloveSet.getClove(int index) Get the clove at the specified index.Methods in net.i2p.router.message with parameters of type GarlicCloveModifier and TypeMethodDescriptionprivate static byte[]GarlicMessageBuilder.buildCommonClove(GarlicClove clove, GarlicConfig config) Builds the part of a clove common to all types.private voidGarlicMessageReceiver.handleClove(GarlicClove clove) Validates a GarlicClove and, if valid, passes it to the configured receiver.private booleanGarlicMessageReceiver.isValid(GarlicClove clove) Checks if the given clove is valid according to expiration and message validation rules.Constructors in net.i2p.router.message with parameters of type GarlicCloveModifierConstructorDescriptionCloveSet(GarlicClove[] cloves, Certificate cert, long msgId, long expiration) Create a new CloveSet.