aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Tools/pCampBot/Bot.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2014-09-24 23:03:39 +0100
committerJustin Clark-Casey (justincc)2014-09-24 23:44:48 +0100
commit6ac12a42ec81dbd7538c61554e410893000e5fb3 (patch)
tree127a87105db293bfd1aece0dfac6edf5ceff89e6 /OpenSim/Tools/pCampBot/Bot.cs
parentRemove an unnecessary check at the bottom of Scene.CloseAgent() (diff)
downloadopensim-SC_OLD-6ac12a42ec81dbd7538c61554e410893000e5fb3.zip
opensim-SC_OLD-6ac12a42ec81dbd7538c61554e410893000e5fb3.tar.gz
opensim-SC_OLD-6ac12a42ec81dbd7538c61554e410893000e5fb3.tar.bz2
opensim-SC_OLD-6ac12a42ec81dbd7538c61554e410893000e5fb3.tar.xz
Add "debug lludp packet" command to pCampbot.
This allows one to log the packets received by a particular bot that are not duplicates of already received packets. Similar to the OpenSimulator command at the same name but currently any positive level logs all received packets. No facility yet for logging outgoing packets. For debug purposes.
Diffstat (limited to 'OpenSim/Tools/pCampBot/Bot.cs')
-rw-r--r--OpenSim/Tools/pCampBot/Bot.cs39
1 files changed, 39 insertions, 0 deletions
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 45a6682..4f28733 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -35,6 +35,7 @@ using System.Timers;
35using log4net; 35using log4net;
36using OpenMetaverse; 36using OpenMetaverse;
37using OpenMetaverse.Assets; 37using OpenMetaverse.Assets;
38using OpenMetaverse.Packets;
38using Nini.Config; 39using Nini.Config;
39using OpenSim.Framework; 40using OpenSim.Framework;
40using OpenSim.Framework.Console; 41using OpenSim.Framework.Console;
@@ -56,6 +57,27 @@ namespace pCampBot
56 { 57 {
57 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 58 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
58 59
60 public int PacketDebugLevel
61 {
62 get { return m_packetDebugLevel; }
63 set
64 {
65 if (value == m_packetDebugLevel)
66 return;
67
68 m_packetDebugLevel = value;
69
70 if (Client != null)
71 {
72 if (m_packetDebugLevel <= 0)
73 Client.Network.UnregisterCallback(PacketType.Default, PacketReceivedDebugHandler);
74 else
75 Client.Network.RegisterCallback(PacketType.Default, PacketReceivedDebugHandler, false);
76 }
77 }
78 }
79 private int m_packetDebugLevel;
80
59 public delegate void AnEvent(Bot callbot, EventType someevent); // event delegate for bot events 81 public delegate void AnEvent(Bot callbot, EventType someevent); // event delegate for bot events
60 82
61 /// <summary> 83 /// <summary>
@@ -231,6 +253,9 @@ namespace pCampBot
231 253
232 if (Client != null) 254 if (Client != null)
233 { 255 {
256 // Remove any registered debug handlers
257 Client.Network.UnregisterCallback(PacketType.Default, PacketReceivedDebugHandler);
258
234 newClient.Settings.LOGIN_SERVER = Client.Settings.LOGIN_SERVER; 259 newClient.Settings.LOGIN_SERVER = Client.Settings.LOGIN_SERVER;
235 newClient.Settings.ALWAYS_DECODE_OBJECTS = Client.Settings.ALWAYS_DECODE_OBJECTS; 260 newClient.Settings.ALWAYS_DECODE_OBJECTS = Client.Settings.ALWAYS_DECODE_OBJECTS;
236 newClient.Settings.AVATAR_TRACKING = Client.Settings.AVATAR_TRACKING; 261 newClient.Settings.AVATAR_TRACKING = Client.Settings.AVATAR_TRACKING;
@@ -273,6 +298,9 @@ namespace pCampBot
273 newClient.Network.Disconnected += Network_OnDisconnected; 298 newClient.Network.Disconnected += Network_OnDisconnected;
274 newClient.Objects.ObjectUpdate += Objects_NewPrim; 299 newClient.Objects.ObjectUpdate += Objects_NewPrim;
275 300
301 if (m_packetDebugLevel > 0)
302 newClient.Network.RegisterCallback(PacketType.Default, PacketReceivedDebugHandler);
303
276 Client = newClient; 304 Client = newClient;
277 } 305 }
278 306
@@ -705,5 +733,16 @@ namespace pCampBot
705// SaveAsset((AssetWearable) asset); 733// SaveAsset((AssetWearable) asset);
706// } 734// }
707 } 735 }
736
737 private void PacketReceivedDebugHandler(object o, PacketReceivedEventArgs args)
738 {
739 Packet p = args.Packet;
740 Header h = p.Header;
741 Simulator s = args.Simulator;
742
743 m_log.DebugFormat(
744 "[BOT]: Bot {0} received from {1} packet {2} #{3}, rel {4}, res {5}",
745 Name, s.Name, p.Type, h.Sequence, h.Reliable, h.Resent);
746 }
708 } 747 }
709} 748}