## net.i2p.router
Class TunnelPoolSettings

    java.lang.Object
      net.i2p.router.TunnelPoolSettings

    public class TunnelPoolSettings

extends Object

Wrap up the settings for a pool of tunnels (duh)

Field Summary
`static boolean` `DEFAULT_ALLOW_ZERO_HOP`
`static int` `DEFAULT_BACKUP_QUANTITY`
`static int` `DEFAULT_DURATION`
`static int` `DEFAULT_IP_RESTRICTION`
`static int` `DEFAULT_LENGTH`
`static int` `DEFAULT_LENGTH_VARIANCE`
`static int` `DEFAULT_QUANTITY`
`static String` `PREFIX_DEFAULT` prefix used to override the router's defaults for clients
`static String` `PREFIX_INBOUND_EXPLORATORY` prefix used to configure the inbound exploratory pool
`static String` `PREFIX_OUTBOUND_EXPLORATORY` prefix used to configure the outbound exploratory pool
`static String` `PROP_ALLOW_ZERO_HOP`
`static String` `PROP_BACKUP_QUANTITY`
`static String` `PROP_DURATION`
`static String` `PROP_IP_RESTRICTION`
`static String` `PROP_LENGTH`
`static String` `PROP_LENGTH_VARIANCE`
`static String` `PROP_NICKNAME`
`static String` `PROP_QUANTITY`

Constructor Summary
`TunnelPoolSettings()`

Method Summary
`boolean` `getAllowZeroHop()` if there are no tunnels to build with, will this pool allow 0 hop tunnels?
`int` `getBackupQuantity()` how many backup tunnels should be kept waiting in the wings
`Hash` `getDestination()` what destination is this a tunnel for (or null if none)
`String` `getDestinationNickname()` what user supplied name was given to the client connected (can be null)
`int` `getIPRestriction()` How many bytes to match to determine if a router's IP is too close to another's to be in the same tunnel (1-4, 0 to disable)
`int` `getLength()` how many remote hops should be in the tunnel
`int` `getLengthOverride()`
`int` `getLengthVariance()` how should the length be varied.
`int` `getQuantity()` how many tunnels should be available at all times
`Hash` `getRandomKey()` random key used for peer ordering
`Properties` `getUnknownOptions()`
`boolean` `isExploratory()` is this an exploratory tunnel (or a client tunnel)
`boolean` `isInbound()` is this an inbound tunnel?
`void` `readFromProperties(String prefix, Properties props)`
`void` `setAllowZeroHop(boolean ok)`
`void` `setBackupQuantity(int quantity)`
`void` `setDestination(Hash dest)`
`void` `setDestinationNickname(String name)`
`void` `setIPRestriction(int b)`
`void` `setIsExploratory(boolean isExploratory)`
`void` `setIsInbound(boolean isInbound)`
`void` `setLength(int length)`
`void` `setLengthOverride(int variance)`
`void` `setLengthVariance(int variance)`
`void` `setQuantity(int quantity)`
`String` `toString()`
`void` `writeToProperties(String prefix, Properties props)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### PREFIX_DEFAULT

    public static final String PREFIX_DEFAULT

  prefix used to override the router's defaults for clients

  See Also:
    Constant Field Values

### PREFIX_INBOUND_EXPLORATORY

    public static final String PREFIX_INBOUND_EXPLORATORY

  prefix used to configure the inbound exploratory pool

  See Also:
    Constant Field Values

### PREFIX_OUTBOUND_EXPLORATORY

    public static final String PREFIX_OUTBOUND_EXPLORATORY

  prefix used to configure the outbound exploratory pool

  See Also:
    Constant Field Values

### PROP_NICKNAME

    public static final String PROP_NICKNAME

See Also:
  Constant Field Values

### PROP_QUANTITY

    public static final String PROP_QUANTITY

See Also:
  Constant Field Values

### PROP_BACKUP_QUANTITY

    public static final String PROP_BACKUP_QUANTITY

See Also:
  Constant Field Values

### PROP_DURATION

    public static final String PROP_DURATION

See Also:
  Constant Field Values

### PROP_LENGTH

    public static final String PROP_LENGTH

See Also:
  Constant Field Values

### PROP_LENGTH_VARIANCE

    public static final String PROP_LENGTH_VARIANCE

See Also:
  Constant Field Values

### PROP_ALLOW_ZERO_HOP

    public static final String PROP_ALLOW_ZERO_HOP

See Also:
  Constant Field Values

### PROP_IP_RESTRICTION

    public static final String PROP_IP_RESTRICTION

See Also:
  Constant Field Values

### DEFAULT_QUANTITY

    public static final int DEFAULT_QUANTITY

See Also:
  Constant Field Values

### DEFAULT_BACKUP_QUANTITY

    public static final int DEFAULT_BACKUP_QUANTITY

See Also:
  Constant Field Values

### DEFAULT_DURATION

    public static final int DEFAULT_DURATION

See Also:
  Constant Field Values

### DEFAULT_LENGTH

    public static final int DEFAULT_LENGTH

See Also:
  Constant Field Values

### DEFAULT_LENGTH_VARIANCE

    public static final int DEFAULT_LENGTH_VARIANCE

See Also:
  Constant Field Values

### DEFAULT_ALLOW_ZERO_HOP

    public static final boolean DEFAULT_ALLOW_ZERO_HOP

See Also:
  Constant Field Values

### DEFAULT_IP_RESTRICTION

    public static final int DEFAULT_IP_RESTRICTION

See Also:
  Constant Field Values

Constructor Detail

### TunnelPoolSettings

    public TunnelPoolSettings()

Method Detail

### getQuantity

    public int getQuantity()

  how many tunnels should be available at all times

### setQuantity

    public void setQuantity(int quantity)

### getBackupQuantity

    public int getBackupQuantity()

  how many backup tunnels should be kept waiting in the wings

### setBackupQuantity

    public void setBackupQuantity(int quantity)

### getLength

    public int getLength()

  how many remote hops should be in the tunnel

### setLength

    public void setLength(int length)

### getAllowZeroHop

    public boolean getAllowZeroHop()

  if there are no tunnels to build with, will this pool allow 0 hop tunnels?

### setAllowZeroHop

    public void setAllowZeroHop(boolean ok)

### getLengthVariance

    public int getLengthVariance()

  how should the length be varied. if negative, this randomly skews from (length - variance) to (length + variance), or if positive, from length to (length + variance), inclusive.

### setLengthVariance

    public void setLengthVariance(int variance)

### getLengthOverride

    public int getLengthOverride()

### setLengthOverride

    public void setLengthOverride(int variance)

### isInbound

    public boolean isInbound()

  is this an inbound tunnel?

### setIsInbound

    public void setIsInbound(boolean isInbound)

### isExploratory

    public boolean isExploratory()

  is this an exploratory tunnel (or a client tunnel)

### setIsExploratory

    public void setIsExploratory(boolean isExploratory)

### getDestination

    public Hash getDestination()

  what destination is this a tunnel for (or null if none)

### setDestination

    public void setDestination(Hash dest)

### getRandomKey

    public Hash getRandomKey()

  random key used for peer ordering

### getDestinationNickname

    public String getDestinationNickname()

  what user supplied name was given to the client connected (can be null)

### setDestinationNickname

    public void setDestinationNickname(String name)

### getIPRestriction

    public int getIPRestriction()

  How many bytes to match to determine if a router's IP is too close to another's to be in the same tunnel (1-4, 0 to disable)

### setIPRestriction

    public void setIPRestriction(int b)

### getUnknownOptions

    public Properties getUnknownOptions()

### readFromProperties

    public void readFromProperties(String prefix,
                                   Properties props)

### writeToProperties

    public void writeToProperties(String prefix,
                                  Properties props)

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`