diff --git a/OpenSim/Framework/AgentCircuitData.cs b/OpenSim/Framework/AgentCircuitData.cs
index 57fb808dc1..ffcc5840e8 100644
--- a/OpenSim/Framework/AgentCircuitData.cs
+++ b/OpenSim/Framework/AgentCircuitData.cs
@@ -98,6 +98,11 @@ namespace OpenSim.Framework
///
public string lastname;
+ ///
+ /// Agent's full name.
+ ///
+ public string Name { get { return string.Format("{0} {1}", firstname, lastname); } }
+
///
/// Random Unique GUID for this session. Client gets this at login and it's
/// only supposed to be disclosed over secure channels
diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs
index e9807166fe..230af8edbf 100644
--- a/OpenSim/Region/Application/OpenSim.cs
+++ b/OpenSim/Region/Application/OpenSim.cs
@@ -1000,22 +1000,7 @@ namespace OpenSim
break;
case "circuits":
- System.Text.StringBuilder acd = new System.Text.StringBuilder("Agent Circuits:\n");
- m_sceneManager.ForEachScene(
- delegate(Scene scene) {
- //this.HttpServer.
- acd.AppendFormat("{0}:\n", scene.RegionInfo.RegionName);
- foreach (AgentCircuitData aCircuit in scene.AuthenticateHandler.GetAgentCircuits().Values)
- acd.AppendFormat(
- "\t{0} {1} ({2})\n",
- aCircuit.firstname,
- aCircuit.lastname,
- (aCircuit.child ? "Child" : "Root")
- );
- }
- );
-
- MainConsole.Instance.Output(acd.ToString());
+ HandleShowCircuits();
break;
case "http-handlers":
@@ -1120,19 +1105,45 @@ namespace OpenSim
}
}
+ private void HandleShowCircuits()
+ {
+ ConsoleDisplayTable cdt = new ConsoleDisplayTable();
+ cdt.AddColumn("Region", 20);
+ cdt.AddColumn("Avatar name", 24);
+ cdt.AddColumn("Type", 5);
+ cdt.AddColumn("Code", 10);
+ cdt.AddColumn("IP", 16);
+ cdt.AddColumn("Viewer Name", 24);
+
+ m_sceneManager.ForEachScene(
+ s =>
+ {
+ foreach (AgentCircuitData aCircuit in s.AuthenticateHandler.GetAgentCircuits().Values)
+ cdt.AddRow(
+ s.Name,
+ aCircuit.Name,
+ aCircuit.child ? "child" : "root",
+ aCircuit.circuitcode.ToString(),
+ aCircuit.IPAddress.ToString(),
+ aCircuit.Viewer);
+ });
+
+ MainConsole.Instance.Output(cdt.ToString());
+ }
+
private void HandleShowConnections()
{
ConsoleDisplayTable cdt = new ConsoleDisplayTable();
cdt.AddColumn("Region", 20);
- cdt.AddColumn("Avatar name", 25);
- cdt.AddColumn("Remote endpoint", 23);
- cdt.AddColumn("Circuit number", 14);
+ cdt.AddColumn("Avatar name", 24);
+ cdt.AddColumn("Circuit code", 12);
+ cdt.AddColumn("Endpoint", 23);
cdt.AddColumn("Active?", 7);
m_sceneManager.ForEachScene(
s => s.ForEachClient(
c => cdt.AddRow(
- s.RegionInfo.RegionName,
+ s.Name,
c.Name,
c.RemoteEndPoint.ToString(),
c.CircuitCode.ToString(),