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