Package net.i2p.router.message
Class GarlicConfig
java.lang.Object
net.i2p.router.message.GarlicConfig
- Direct Known Subclasses:
PayloadGarlicConfig
class GarlicConfig extends Object
Define the contents of a garlic chunk that contains 1 or more sub garlics.
This is the top-level config for a Garlic Message that contains cloves.
For cloves themselves, see PayloadGarlicConfig.
Note that this is somewhat misnamed as it contains the actual cloves, not just the config.
-
Constructor Summary
Constructors Modifier Constructor Description protectedGarlicConfig(List<GarlicConfig> cloveConfigs, Certificate cert, long id, long expiration, DeliveryInstructions di)GarlicConfig(Certificate cert, long id, long expiration, DeliveryInstructions di) -
Method Summary
Modifier and Type Method Description voidaddClove(GarlicConfig config)Add a clove to the current message - if any cloves are added, an I2NP message cannot be specified via setPayload.voidclearCloves()CertificategetCertificate()Certificate for the getRecipient() to pay for their processingGarlicConfiggetClove(int index)intgetCloveCount()DeliveryInstructionsgetDeliveryInstructions()Specify how the I2NPMessage in the clove should be handled.longgetExpiration()Expiration of the clove, after which it should be droppedlonggetId()Unique ID of the cloveRouterInfogetRecipient()PublicKeygetRecipientPublicKey()protected StringgetSubData()voidsetRecipient(RouterInfo info)Router to receive and process this clove - the router that will open the delivery instructions and decide what to do process it locally as an I2NPMessage, forward it as an I2NPMessage to a router, forward it as an I2NPMessage to a Destination, or forward it as an I2NPMessage to a tunnel.voidsetRecipientPublicKey(PublicKey recipientPublicKey)Public key of the router to receive and process this clove.StringtoString()
-
Constructor Details
-
GarlicConfig
-
GarlicConfig
protected GarlicConfig(List<GarlicConfig> cloveConfigs, Certificate cert, long id, long expiration, DeliveryInstructions di)
-
-
Method Details
-
setRecipient
Router to receive and process this clove - the router that will open the delivery instructions and decide what to do process it locally as an I2NPMessage, forward it as an I2NPMessage to a router, forward it as an I2NPMessage to a Destination, or forward it as an I2NPMessage to a tunnel. Used only if recipient public key is not set. -
getRecipient
-
setRecipientPublicKey
Public key of the router to receive and process this clove. This is useful for garlic routed messages encrypted to the router at the end of a tunnel, as their RouterIdentity is not known, but a PublicKey they handle is exposed via the LeaseSet -
getRecipientPublicKey
-
getCertificate
Certificate for the getRecipient() to pay for their processing -
getId
public long getId()Unique ID of the clove -
getExpiration
public long getExpiration()Expiration of the clove, after which it should be dropped -
getDeliveryInstructions
Specify how the I2NPMessage in the clove should be handled. -
addClove
Add a clove to the current message - if any cloves are added, an I2NP message cannot be specified via setPayload. This means that the resulting GarlicClove represented by this GarlicConfig must be a GarlicMessage itself -
getCloveCount
public int getCloveCount() -
getClove
-
clearCloves
public void clearCloves() -
getSubData
-
toString
-