aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
diff options
context:
space:
mode:
authorMW2008-07-21 15:13:34 +0000
committerMW2008-07-21 15:13:34 +0000
commitfb096dfbd54cfbcfa60be872cee1680eb521dd14 (patch)
treefdc6c3b4d5d15dfd03dc24138ada668e62af7562 /OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
parentMantis#1801. Thank you kindly, Junta_Kohime for a patch that: (diff)
downloadopensim-SC_OLD-fb096dfbd54cfbcfa60be872cee1680eb521dd14.zip
opensim-SC_OLD-fb096dfbd54cfbcfa60be872cee1680eb521dd14.tar.gz
opensim-SC_OLD-fb096dfbd54cfbcfa60be872cee1680eb521dd14.tar.bz2
opensim-SC_OLD-fb096dfbd54cfbcfa60be872cee1680eb521dd14.tar.xz
added experimental packet tracker (LLPacketTracker.cs), which can be told to track a packet and if it hasn't been acked within a set time, trigger a IClientAPI event, that the application/scene can handle. Currently only terrain packet tracking is finished, Tracking for initial Prim packets (first full update for a prim) is being worked on. Future improvements would be to make it a more generic packet tracker with callback delegates instead of events.
Add a test event handler (which would fire after a minute if a terrain packet hadn't been acked) to scene to handle the OnUnackedTerrain event, which currently just resends the terrain patch. The idea of this packet tracking is for the region level application to be able to know if the client stack gave up on sending a packet.
Diffstat (limited to 'OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs')
-rw-r--r--OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs9
1 files changed, 7 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
index 040b9b7..574bc63 100644
--- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
@@ -296,6 +296,8 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
296 public event GetScriptRunning OnGetScriptRunning; 296 public event GetScriptRunning OnGetScriptRunning;
297 public event SetScriptRunning OnSetScriptRunning; 297 public event SetScriptRunning OnSetScriptRunning;
298 public event UpdateVector OnAutoPilotGo; 298 public event UpdateVector OnAutoPilotGo;
299
300 public event TerrainUnacked OnUnackedTerrain;
299#pragma warning restore 67 301#pragma warning restore 67
300 302
301 #endregion 303 #endregion
@@ -438,6 +440,9 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
438 public virtual void SendLayerData(int px, int py, float[] map) 440 public virtual void SendLayerData(int px, int py, float[] map)
439 { 441 {
440 } 442 }
443 public virtual void SendLayerData(int px, int py, float[] map, bool track)
444 {
445 }
441 446
442 public virtual void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look) 447 public virtual void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look)
443 { 448 {
@@ -513,7 +518,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
513 LLVector3 acc, LLQuaternion rotation, LLVector3 rvel, uint flags, 518 LLVector3 acc, LLQuaternion rotation, LLVector3 rvel, uint flags,
514 LLUUID objectID, LLUUID ownerID, string text, byte[] color, 519 LLUUID objectID, LLUUID ownerID, string text, byte[] color,
515 uint parentID, 520 uint parentID,
516 byte[] particleSystem, byte clickAction) 521 byte[] particleSystem, byte clickAction, bool track)
517 { 522 {
518 } 523 }
519 public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, 524 public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID,
@@ -522,7 +527,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
522 LLUUID objectID, LLUUID ownerID, string text, byte[] color, 527 LLUUID objectID, LLUUID ownerID, string text, byte[] color,
523 uint parentID, 528 uint parentID,
524 byte[] particleSystem, byte clickAction, byte[] textureanimation, 529 byte[] particleSystem, byte clickAction, byte[] textureanimation,
525 bool attachment, uint AttachmentPoint, LLUUID AssetId, LLUUID SoundId, double SoundVolume, byte SoundFlags, double SoundRadius) 530 bool attachment, uint AttachmentPoint, LLUUID AssetId, LLUUID SoundId, double SoundVolume, byte SoundFlags, double SoundRadius, bool track)
526 { 531 {
527 } 532 }
528 public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, 533 public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID,