From bebe5f8a4e4dde3961dd4cd5519860d39b9f6667 Mon Sep 17 00:00:00 2001 From: zzz Date: Wed, 22 Apr 2015 14:45:40 +0000 Subject: [PATCH] PortMapper: Status output for /debug --- apps/routerconsole/jsp/debug.jsp | 5 +++++ core/java/src/net/i2p/util/PortMapper.java | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/apps/routerconsole/jsp/debug.jsp b/apps/routerconsole/jsp/debug.jsp index dd1c46c69..3c154d88c 100644 --- a/apps/routerconsole/jsp/debug.jsp +++ b/apps/routerconsole/jsp/debug.jsp @@ -38,6 +38,11 @@ */ ctx.routerAppManager().renderStatusHTML(out); + /* + * Print out the status for the PortMapper + */ + ctx.portMapper().renderStatusHTML(out); + /* * Print out the status for all the SessionKeyManagers */ diff --git a/core/java/src/net/i2p/util/PortMapper.java b/core/java/src/net/i2p/util/PortMapper.java index ff626961b..b3c8e65e7 100644 --- a/core/java/src/net/i2p/util/PortMapper.java +++ b/core/java/src/net/i2p/util/PortMapper.java @@ -1,5 +1,10 @@ package net.i2p.util; +import java.io.IOException; +import java.io.Writer; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import java.util.concurrent.ConcurrentHashMap; import net.i2p.I2PAppContext; @@ -73,4 +78,18 @@ public class PortMapper { return def; return port.intValue(); } + + /** + * For debugging only + * @since 0.9.20 + */ + public void renderStatusHTML(Writer out) throws IOException { + List services = new ArrayList(_dir.keySet()); + out.write("

Port Mapper

ServicePort\n"); + Collections.sort(services); + for (String s : services) { + out.write("
" + s + "" + _dir.get(s) + '\n'); + } + out.write("
\n"); + } }