diff --git a/history.txt b/history.txt index 453c568b59..398eff6bed 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,10 @@ +2008-09-19 zzz + * Tunnels: + - Add missing message accounting for inbound gateways, + we were underestimating participating traffic because of it, + and the tunnels were classified "inactive" + - Add participating tunnel role on tunnels.jsp + 2008-09-18 zzz * Throttle: - Correctly check inbound and outbound total bw limits separately diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 64471fafd3..15a18a6d74 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -17,7 +17,7 @@ import net.i2p.CoreVersion; public class RouterVersion { public final static String ID = "$Revision: 1.548 $ $Date: 2008-06-07 23:00:00 $"; public final static String VERSION = "0.6.3"; - public final static long BUILD = 6; + public final static long BUILD = 7; public static void main(String args[]) { System.out.println("I2P Router version: " + VERSION + "-" + BUILD); System.out.println("Router ID: " + RouterVersion.ID); diff --git a/router/java/src/net/i2p/router/tunnel/InboundGatewayReceiver.java b/router/java/src/net/i2p/router/tunnel/InboundGatewayReceiver.java index ffb4c356bf..1d198a0b48 100644 --- a/router/java/src/net/i2p/router/tunnel/InboundGatewayReceiver.java +++ b/router/java/src/net/i2p/router/tunnel/InboundGatewayReceiver.java @@ -33,6 +33,7 @@ public class InboundGatewayReceiver implements TunnelGateway.Receiver { } } + _config.incrementProcessedMessages(); TunnelDataMessage msg = new TunnelDataMessage(_context); msg.setData(encrypted); msg.setTunnelId(_config.getSendTunnel()); diff --git a/router/java/src/net/i2p/router/tunnel/pool/TunnelPoolManager.java b/router/java/src/net/i2p/router/tunnel/pool/TunnelPoolManager.java index 1c3e4b4135..342f53b2ee 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/TunnelPoolManager.java +++ b/router/java/src/net/i2p/router/tunnel/pool/TunnelPoolManager.java @@ -448,7 +448,7 @@ public class TunnelPoolManager implements TunnelManagerFacade { out.write("
Receive on | From | " + "Send on | To | Expiration | " - + "Usage | Usage | Role | \n"); long processed = 0; RateStat rs = _context.statManager().getRate("tunnel.participatingMessageCount"); if (rs != null) @@ -468,21 +468,27 @@ public class TunnelPoolManager implements TunnelManagerFacade { if (cfg.getReceiveFrom() != null) out.write("" + cfg.getReceiveFrom().toBase64().substring(0,4) +" | "); else - out.write("n/a | "); + out.write(""); if (cfg.getSendTunnel() != null) out.write(" | " + cfg.getSendTunnel().getTunnelId() +" | "); else - out.write("n/a | "); + out.write(""); if (cfg.getSendTo() != null) out.write(" | " + cfg.getSendTo().toBase64().substring(0,4) +" | "); else - out.write("n/a | "); + out.write(""); long timeLeft = cfg.getExpiration()-_context.clock().now(); if (timeLeft > 0) out.write(" | " + DataHelper.formatDuration(timeLeft) + " | "); else out.write("(grace period) | "); out.write("" + cfg.getProcessedMessagesCount() + "KB | "); + if (cfg.getSendTo() == null) + out.write("Outbound Endpoint | "); + else if (cfg.getReceiveFrom() == null) + out.write("Inbound Gateway | "); + else + out.write("Participant | "); out.write("\n"); processed += cfg.getProcessedMessagesCount(); }