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 GarlicConfig()
protected
GarlicConfig(List<GarlicConfig> cloveConfigs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addClove(GarlicConfig config)
Add a clove to the current message - if any cloves are added, an I2NP message cannot be specified via setPayload.void
clearCloves()
Certificate
getCertificate()
GarlicConfig
getClove(int index)
int
getCloveCount()
DeliveryInstructions
getDeliveryInstructions()
long
getExpiration()
long
getId()
RouterInfo
getRecipient()
PublicKey
getRecipientPublicKey()
protected String
getSubData()
void
setCertificate(Certificate cert)
Certificate for the getRecipient() to pay for their processingvoid
setDeliveryInstructions(DeliveryInstructions instructions)
Specify how the I2NPMessage in the clove should be handled.void
setExpiration(long expiration)
Expiration of the clove, after which it should be droppedvoid
setId(long id)
Unique ID of the clovevoid
setRecipient(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.void
setRecipientPublicKey(PublicKey recipientPublicKey)
Public key of the router to receive and process this clove.String
toString()
-
-
-
Constructor Detail
-
GarlicConfig
public GarlicConfig()
-
GarlicConfig
protected GarlicConfig(List<GarlicConfig> cloveConfigs)
-
-
Method Detail
-
setRecipient
public void setRecipient(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. Used only if recipient public key is not set.
-
getRecipient
public RouterInfo getRecipient()
-
setRecipientPublicKey
public void setRecipientPublicKey(PublicKey recipientPublicKey)
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
public PublicKey getRecipientPublicKey()
-
setCertificate
public void setCertificate(Certificate cert)
Certificate for the getRecipient() to pay for their processing
-
getCertificate
public Certificate getCertificate()
-
setId
public void setId(long id)
Unique ID of the clove
-
getId
public long getId()
-
setExpiration
public void setExpiration(long expiration)
Expiration of the clove, after which it should be dropped
-
getExpiration
public long getExpiration()
-
setDeliveryInstructions
public void setDeliveryInstructions(DeliveryInstructions instructions)
Specify how the I2NPMessage in the clove should be handled.
-
getDeliveryInstructions
public DeliveryInstructions getDeliveryInstructions()
-
addClove
public void addClove(GarlicConfig config)
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
public GarlicConfig getClove(int index)
-
clearCloves
public void clearCloves()
-
getSubData
protected String getSubData()
-
-