## net.i2p.router.peermanager
Class TunnelHistory

    java.lang.Object
      net.i2p.router.peermanager.TunnelHistory

    public class TunnelHistory

extends Object

Tunnel related history information

Field Summary
`static int` `TUNNEL_REJECT_BANDWIDTH` tunnel rejection due to excess bandwidth usage
`static int` `TUNNEL_REJECT_CRIT` tunnel rejection due to system failure - essentially unused
`static int` `TUNNEL_REJECT_PROBABALISTIC_REJECT` probabalistic tunnel rejection due to a flood of requests - essentially unused
`static int` `TUNNEL_REJECT_TRANSIENT_OVERLOAD` tunnel rejection due to temporary cpu/job/tunnel overload - essentially unused

Constructor Summary
`TunnelHistory(RouterContext context, String statGroup)`

Method Summary
`void` `coalesceStats()`
`RateStat` `getFailedRate()`
`long` `getLastAgreedTo()` when the peer last agreed to participate in a tunnel
`long` `getLastFailed()` when the last tunnel the peer participated in failed
`long` `getLastRejectedBandwidth()` when the peer last refused to participate in a tunnel complaining of bandwidth overload
`long` `getLastRejectedCritical()` when the peer last refused to participate in a tunnel with level of critical
`long` `getLastRejectedProbabalistic()` when the peer last refused to participate in a tunnel probabalistically
`long` `getLastRejectedTransient()` when the peer last refused to participate in a tunnel complaining of transient overload
`long` `getLifetimeAgreedTo()` total tunnels the peer has agreed to participate in
`long` `getLifetimeFailed()` total tunnels the peer has agreed to participate in that were later marked as failed prematurely
`long` `getLifetimeRejected()` total tunnels the peer has refused to participate in

`RateStat`

`getRejectionRate()`
all unused public void setLifetimeAgreedTo(long num) { _lifetimeAgreedTo = num; } public void setLifetimeRejected(long num) { _lifetimeRejected = num; } public void setLifetimeFailed(long num) { _lifetimeFailed = num; } public void setLastAgreedTo(long when) { _lastAgreedTo = when; } public void setLastRejectedCritical(long when) { _lastRejectedCritical = when; } public void setLastRejectedBandwidth(long when) { _lastRejectedBandwidth = when; } public void setLastRejectedTransient(long when) { _lastRejectedTransient = when; } public void setLastRejectedProbabalistic(long when) { _lastRejectedProbabalistic = when; } public void setLastFailed(long when) { _lastFailed = when; }

`void` `incrementAgreedTo()`
`void` `incrementFailed(int pct)` Define this rate as the probability it really failed
`void` `incrementProcessed(int processedSuccessfully, int failedProcessing)`
`void` `incrementRejected(int severity)`
`void` `load(Properties props)`
`void` `store(OutputStream out)`

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

Field Detail

### TUNNEL_REJECT_PROBABALISTIC_REJECT

    public static final int TUNNEL_REJECT_PROBABALISTIC_REJECT

  probabalistic tunnel rejection due to a flood of requests - essentially unused

  See Also:
    Constant Field Values

### TUNNEL_REJECT_TRANSIENT_OVERLOAD

    public static final int TUNNEL_REJECT_TRANSIENT_OVERLOAD

  tunnel rejection due to temporary cpu/job/tunnel overload - essentially unused

  See Also:
    Constant Field Values

### TUNNEL_REJECT_BANDWIDTH

    public static final int TUNNEL_REJECT_BANDWIDTH

  tunnel rejection due to excess bandwidth usage

  See Also:
    Constant Field Values

### TUNNEL_REJECT_CRIT

    public static final int TUNNEL_REJECT_CRIT

  tunnel rejection due to system failure - essentially unused

  See Also:
    Constant Field Values

Constructor Detail

### TunnelHistory

    public TunnelHistory(RouterContext context,
                         String statGroup)

Method Detail

### getLifetimeAgreedTo

    public long getLifetimeAgreedTo()

  total tunnels the peer has agreed to participate in

### getLifetimeRejected

    public long getLifetimeRejected()

  total tunnels the peer has refused to participate in

### getLifetimeFailed

    public long getLifetimeFailed()

  total tunnels the peer has agreed to participate in that were later marked as failed prematurely

### getLastAgreedTo

    public long getLastAgreedTo()

  when the peer last agreed to participate in a tunnel

### getLastRejectedCritical

    public long getLastRejectedCritical()

  when the peer last refused to participate in a tunnel with level of critical

### getLastRejectedBandwidth

    public long getLastRejectedBandwidth()

  when the peer last refused to participate in a tunnel complaining of bandwidth overload

### getLastRejectedTransient

    public long getLastRejectedTransient()

  when the peer last refused to participate in a tunnel complaining of transient overload

### getLastRejectedProbabalistic

    public long getLastRejectedProbabalistic()

  when the peer last refused to participate in a tunnel probabalistically

### getLastFailed

    public long getLastFailed()

  when the last tunnel the peer participated in failed

### incrementProcessed

    public void incrementProcessed(int processedSuccessfully,
                                   int failedProcessing)

### incrementAgreedTo

    public void incrementAgreedTo()

### incrementRejected

    public void incrementRejected(int severity)

  Parameters:
    `severity` - how much the peer doesnt want to participate in the tunnel (large == more severe)

### incrementFailed

    public void incrementFailed(int pct)

  Define this rate as the probability it really failed

  Parameters:
    `pct` - = probability * 100

### getRejectionRate

    public RateStat getRejectionRate()

  all unused public void setLifetimeAgreedTo(long num) { _lifetimeAgreedTo = num; } public void setLifetimeRejected(long num) { _lifetimeRejected = num; } public void setLifetimeFailed(long num) { _lifetimeFailed = num; } public void setLastAgreedTo(long when) { _lastAgreedTo = when; } public void setLastRejectedCritical(long when) { _lastRejectedCritical = when; } public void setLastRejectedBandwidth(long when) { _lastRejectedBandwidth = when; } public void setLastRejectedTransient(long when) { _lastRejectedTransient = when; } public void setLastRejectedProbabalistic(long when) { _lastRejectedProbabalistic = when; } public void setLastFailed(long when) { _lastFailed = when; }

### getFailedRate

    public RateStat getFailedRate()

### coalesceStats

    public void coalesceStats()

### store

    public void store(OutputStream out)
               throws IOException

  Throws:
    `IOException`

### load

    public void load(Properties props)