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 Details

  • Method Details

    • 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()
    • getCertificate

      public Certificate 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

      public DeliveryInstructions getDeliveryInstructions()
      Specify how the I2NPMessage in the clove should be handled.
    • 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()
    • toString

      public String toString()
      Overrides:
      toString in class Object