don't force start the tunnels too early - only instantiate the tunnelControllerGroup when the CLI is run (aka after 2 minutes whem TunnelControllerGroup.main is called from clients.config)
This commit is contained in:
@ -30,13 +30,7 @@ public class TunnelControllerGroup {
|
|||||||
private List _controllers;
|
private List _controllers;
|
||||||
private String _configFile = DEFAULT_CONFIG_FILE;
|
private String _configFile = DEFAULT_CONFIG_FILE;
|
||||||
|
|
||||||
public static TunnelControllerGroup getInstance() {
|
public static TunnelControllerGroup getInstance() { return _instance; }
|
||||||
synchronized (TunnelControllerGroup.class) {
|
|
||||||
if (_instance == null)
|
|
||||||
_instance = new TunnelControllerGroup(DEFAULT_CONFIG_FILE);
|
|
||||||
return _instance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private TunnelControllerGroup(String configFile) {
|
private TunnelControllerGroup(String configFile) {
|
||||||
_log = I2PAppContext.getGlobalContext().logManager().getLog(TunnelControllerGroup.class);
|
_log = I2PAppContext.getGlobalContext().logManager().getLog(TunnelControllerGroup.class);
|
||||||
@ -47,10 +41,10 @@ public class TunnelControllerGroup {
|
|||||||
|
|
||||||
public static void main(String args[]) {
|
public static void main(String args[]) {
|
||||||
if ( (args == null) || (args.length <= 0) ) {
|
if ( (args == null) || (args.length <= 0) ) {
|
||||||
_instance = getInstance();
|
_instance = new TunnelControllerGroup(DEFAULT_CONFIG_FILE);
|
||||||
} else if (args.length == 1) {
|
} else if (args.length == 1) {
|
||||||
if (DEFAULT_CONFIG_FILE.equals(args[0]))
|
if (DEFAULT_CONFIG_FILE.equals(args[0]))
|
||||||
_instance = getInstance();
|
_instance = new TunnelControllerGroup(DEFAULT_CONFIG_FILE);
|
||||||
else
|
else
|
||||||
_instance = new TunnelControllerGroup(args[0]);
|
_instance = new TunnelControllerGroup(args[0]);
|
||||||
} else {
|
} else {
|
||||||
|
@ -47,9 +47,13 @@ public class WebStatusPageHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getSummaryList() {
|
public String getSummaryList() {
|
||||||
|
TunnelControllerGroup group = TunnelControllerGroup.getInstance();
|
||||||
|
if (group == null)
|
||||||
|
return "<b>I2PTunnel instances not yet started - please be patient</b>\n";
|
||||||
|
|
||||||
StringBuffer buf = new StringBuffer(4*1024);
|
StringBuffer buf = new StringBuffer(4*1024);
|
||||||
buf.append("<ul>");
|
buf.append("<ul>");
|
||||||
List tunnels = TunnelControllerGroup.getInstance().getControllers();
|
List tunnels = group.getControllers();
|
||||||
for (int i = 0; i < tunnels.size(); i++) {
|
for (int i = 0; i < tunnels.size(); i++) {
|
||||||
buf.append("<li>\n");
|
buf.append("<li>\n");
|
||||||
getSummary(buf, i, (TunnelController)tunnels.get(i));
|
getSummary(buf, i, (TunnelController)tunnels.get(i));
|
||||||
@ -92,24 +96,45 @@ public class WebStatusPageHelper {
|
|||||||
return "Action <i>" + _action + "</i> unknown";
|
return "Action <i>" + _action + "</i> unknown";
|
||||||
}
|
}
|
||||||
private String stopAll() {
|
private String stopAll() {
|
||||||
List msgs = TunnelControllerGroup.getInstance().stopAllControllers();
|
TunnelControllerGroup group = TunnelControllerGroup.getInstance();
|
||||||
|
if (group == null)
|
||||||
|
return "<b>I2PTunnel instances not yet started - please be patient</b>\n";
|
||||||
|
|
||||||
|
List msgs = group.stopAllControllers();
|
||||||
return getMessages(msgs);
|
return getMessages(msgs);
|
||||||
}
|
}
|
||||||
private String startAll() {
|
private String startAll() {
|
||||||
List msgs = TunnelControllerGroup.getInstance().startAllControllers();
|
TunnelControllerGroup group = TunnelControllerGroup.getInstance();
|
||||||
|
if (group == null)
|
||||||
|
return "<b>I2PTunnel instances not yet started - please be patient</b>\n";
|
||||||
|
|
||||||
|
List msgs = group.startAllControllers();
|
||||||
return getMessages(msgs);
|
return getMessages(msgs);
|
||||||
}
|
}
|
||||||
private String restartAll() {
|
private String restartAll() {
|
||||||
List msgs = TunnelControllerGroup.getInstance().restartAllControllers();
|
TunnelControllerGroup group = TunnelControllerGroup.getInstance();
|
||||||
|
if (group == null)
|
||||||
|
return "<b>I2PTunnel instances not yet started - please be patient</b>\n";
|
||||||
|
|
||||||
|
List msgs = group.restartAllControllers();
|
||||||
return getMessages(msgs);
|
return getMessages(msgs);
|
||||||
}
|
}
|
||||||
private String reloadConfig() {
|
private String reloadConfig() {
|
||||||
TunnelControllerGroup.getInstance().reloadControllers();
|
TunnelControllerGroup group = TunnelControllerGroup.getInstance();
|
||||||
|
if (group == null)
|
||||||
|
return "<b>I2PTunnel instances not yet started - please be patient</b>\n";
|
||||||
|
|
||||||
|
group.reloadControllers();
|
||||||
return "Config reloaded";
|
return "Config reloaded";
|
||||||
}
|
}
|
||||||
private String start() {
|
private String start() {
|
||||||
|
TunnelControllerGroup group = TunnelControllerGroup.getInstance();
|
||||||
|
if (group == null)
|
||||||
|
return "<b>I2PTunnel instances not yet started - please be patient</b>\n";
|
||||||
|
|
||||||
if (_controllerNum < 0) return "Invalid tunnel";
|
if (_controllerNum < 0) return "Invalid tunnel";
|
||||||
List controllers = TunnelControllerGroup.getInstance().getControllers();
|
|
||||||
|
List controllers = group.getControllers();
|
||||||
if (_controllerNum >= controllers.size()) return "Invalid tunnel";
|
if (_controllerNum >= controllers.size()) return "Invalid tunnel";
|
||||||
TunnelController controller = (TunnelController)controllers.get(_controllerNum);
|
TunnelController controller = (TunnelController)controllers.get(_controllerNum);
|
||||||
controller.startTunnel();
|
controller.startTunnel();
|
||||||
@ -117,8 +142,13 @@ public class WebStatusPageHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String stop() {
|
private String stop() {
|
||||||
|
TunnelControllerGroup group = TunnelControllerGroup.getInstance();
|
||||||
|
if (group == null)
|
||||||
|
return "<b>I2PTunnel instances not yet started - please be patient</b>\n";
|
||||||
|
|
||||||
if (_controllerNum < 0) return "Invalid tunnel";
|
if (_controllerNum < 0) return "Invalid tunnel";
|
||||||
List controllers = TunnelControllerGroup.getInstance().getControllers();
|
|
||||||
|
List controllers = group.getControllers();
|
||||||
if (_controllerNum >= controllers.size()) return "Invalid tunnel";
|
if (_controllerNum >= controllers.size()) return "Invalid tunnel";
|
||||||
TunnelController controller = (TunnelController)controllers.get(_controllerNum);
|
TunnelController controller = (TunnelController)controllers.get(_controllerNum);
|
||||||
controller.stopTunnel();
|
controller.stopTunnel();
|
||||||
@ -126,7 +156,11 @@ public class WebStatusPageHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String getMessages() {
|
private String getMessages() {
|
||||||
return getMessages(TunnelControllerGroup.getInstance().clearAllMessages());
|
TunnelControllerGroup group = TunnelControllerGroup.getInstance();
|
||||||
|
if (group == null)
|
||||||
|
return "";
|
||||||
|
|
||||||
|
return getMessages(group.clearAllMessages());
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getMessages(List msgs) {
|
private String getMessages(List msgs) {
|
||||||
|
Reference in New Issue
Block a user