aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorTeravus Ovares2007-11-21 02:17:24 +0000
committerTeravus Ovares2007-11-21 02:17:24 +0000
commit7cb38712d5ad6781e672e4f1c8500ecd88d85f3e (patch)
tree5203c9901fdbba5ec8d9a21880d7895f593af540 /OpenSim/Framework
parentfix for mantis #2 from Justin Casey (IBM) (diff)
downloadopensim-SC-7cb38712d5ad6781e672e4f1c8500ecd88d85f3e.zip
opensim-SC-7cb38712d5ad6781e672e4f1c8500ecd88d85f3e.tar.gz
opensim-SC-7cb38712d5ad6781e672e4f1c8500ecd88d85f3e.tar.bz2
opensim-SC-7cb38712d5ad6781e672e4f1c8500ecd88d85f3e.tar.xz
* Did some initial work for prim crossing. Just glue so far.
* Added the child_get_tasks OpenSim.ini flag for testing the UDP packet sending code and packet throttler. This flag gets purposely disabled in grid mode. This flag also has the consequence that you can see the prim in neighboring regions without going into them. Be warned, this causes tons of dropped packets.
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/Communications/IInterRegionCommunications.cs7
-rw-r--r--OpenSim/Framework/IRegionCommsListener.cs11
-rw-r--r--OpenSim/Framework/RegionCommsListener.cs31
3 files changed, 49 insertions, 0 deletions
diff --git a/OpenSim/Framework/Communications/IInterRegionCommunications.cs b/OpenSim/Framework/Communications/IInterRegionCommunications.cs
index e5ed136..94e4cf7 100644
--- a/OpenSim/Framework/Communications/IInterRegionCommunications.cs
+++ b/OpenSim/Framework/Communications/IInterRegionCommunications.cs
@@ -32,8 +32,15 @@ namespace OpenSim.Framework.Communications
32 public interface IInterRegionCommunications 32 public interface IInterRegionCommunications
33 { 33 {
34 bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData); 34 bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData);
35 bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData);
36
35 bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying); 37 bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying);
38 bool ExpectPrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isFlying);
39
36 bool AcknowledgeAgentCrossed(ulong regionHandle, LLUUID agentId); 40 bool AcknowledgeAgentCrossed(ulong regionHandle, LLUUID agentId);
41 bool AcknowledgePrimCrossed(ulong regionHandle, LLUUID primID);
42
37 void TellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID); 43 void TellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID);
44
38 } 45 }
39} \ No newline at end of file 46} \ No newline at end of file
diff --git a/OpenSim/Framework/IRegionCommsListener.cs b/OpenSim/Framework/IRegionCommsListener.cs
index 24c6499..c9fc525 100644
--- a/OpenSim/Framework/IRegionCommsListener.cs
+++ b/OpenSim/Framework/IRegionCommsListener.cs
@@ -32,20 +32,31 @@ namespace OpenSim.Framework
32{ 32{
33 public delegate void ExpectUserDelegate(ulong regionHandle, AgentCircuitData agent); 33 public delegate void ExpectUserDelegate(ulong regionHandle, AgentCircuitData agent);
34 34
35 public delegate void ExpectPrimDelegate(ulong regionHandle, LLUUID primID, string objData);
36
35 public delegate void UpdateNeighbours(List<RegionInfo> neighbours); 37 public delegate void UpdateNeighbours(List<RegionInfo> neighbours);
36 38
37 public delegate void AgentCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying); 39 public delegate void AgentCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying);
38 40
41 public delegate void PrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical);
42
39 public delegate void AcknowledgeAgentCross(ulong regionHandle, LLUUID agentID); 43 public delegate void AcknowledgeAgentCross(ulong regionHandle, LLUUID agentID);
40 44
45 public delegate void AcknowledgePrimCross(ulong regionHandle, LLUUID PrimID);
46
41 public delegate void CloseAgentConnection(ulong regionHandle, LLUUID agentID); 47 public delegate void CloseAgentConnection(ulong regionHandle, LLUUID agentID);
42 48
49
50
43 public interface IRegionCommsListener 51 public interface IRegionCommsListener
44 { 52 {
45 event ExpectUserDelegate OnExpectUser; 53 event ExpectUserDelegate OnExpectUser;
54 event ExpectPrimDelegate OnExpectPrim;
46 event GenericCall2 OnExpectChildAgent; 55 event GenericCall2 OnExpectChildAgent;
47 event AgentCrossing OnAvatarCrossingIntoRegion; 56 event AgentCrossing OnAvatarCrossingIntoRegion;
57 event PrimCrossing OnPrimCrossingIntoRegion;
48 event AcknowledgeAgentCross OnAcknowledgeAgentCrossed; 58 event AcknowledgeAgentCross OnAcknowledgeAgentCrossed;
59 event AcknowledgePrimCross OnAcknowledgePrimCrossed;
49 event UpdateNeighbours OnNeighboursUpdate; 60 event UpdateNeighbours OnNeighboursUpdate;
50 event CloseAgentConnection OnCloseAgentConnection; 61 event CloseAgentConnection OnCloseAgentConnection;
51 } 62 }
diff --git a/OpenSim/Framework/RegionCommsListener.cs b/OpenSim/Framework/RegionCommsListener.cs
index 84d1b02..5dc9b81 100644
--- a/OpenSim/Framework/RegionCommsListener.cs
+++ b/OpenSim/Framework/RegionCommsListener.cs
@@ -34,10 +34,13 @@ namespace OpenSim.Framework
34 public class RegionCommsListener : IRegionCommsListener 34 public class RegionCommsListener : IRegionCommsListener
35 { 35 {
36 public event ExpectUserDelegate OnExpectUser; 36 public event ExpectUserDelegate OnExpectUser;
37 public event ExpectPrimDelegate OnExpectPrim;
37 public event GenericCall2 OnExpectChildAgent; 38 public event GenericCall2 OnExpectChildAgent;
38 public event AgentCrossing OnAvatarCrossingIntoRegion; 39 public event AgentCrossing OnAvatarCrossingIntoRegion;
40 public event PrimCrossing OnPrimCrossingIntoRegion;
39 public event UpdateNeighbours OnNeighboursUpdate; 41 public event UpdateNeighbours OnNeighboursUpdate;
40 public event AcknowledgeAgentCross OnAcknowledgeAgentCrossed; 42 public event AcknowledgeAgentCross OnAcknowledgeAgentCrossed;
43 public event AcknowledgePrimCross OnAcknowledgePrimCrossed;
41 public event CloseAgentConnection OnCloseAgentConnection; 44 public event CloseAgentConnection OnCloseAgentConnection;
42 45
43 /// <summary> 46 /// <summary>
@@ -55,6 +58,15 @@ namespace OpenSim.Framework
55 58
56 return false; 59 return false;
57 } 60 }
61 public virtual bool TriggerExpectPrim(ulong regionHandle, LLUUID primID, string objData)
62 {
63 if (OnExpectUser != null)
64 {
65 OnExpectPrim(regionHandle, primID, objData);
66 return true;
67 }
68 return false;
69 }
58 70
59 public virtual bool TriggerExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, 71 public virtual bool TriggerExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position,
60 bool isFlying) 72 bool isFlying)
@@ -66,6 +78,15 @@ namespace OpenSim.Framework
66 } 78 }
67 return false; 79 return false;
68 } 80 }
81 public virtual bool TriggerExpectPrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical)
82 {
83 if (OnPrimCrossingIntoRegion != null)
84 {
85 OnPrimCrossingIntoRegion(regionHandle, primID, position, isPhysical);
86 return true;
87 }
88 return false;
89 }
69 90
70 public virtual bool TriggerAcknowledgeAgentCrossed(ulong regionHandle, LLUUID agentID) 91 public virtual bool TriggerAcknowledgeAgentCrossed(ulong regionHandle, LLUUID agentID)
71 { 92 {
@@ -77,6 +98,16 @@ namespace OpenSim.Framework
77 return false; 98 return false;
78 } 99 }
79 100
101 public virtual bool TriggerAcknowledgePrimCrossed(ulong regionHandle, LLUUID primID)
102 {
103 if (OnAcknowledgePrimCrossed != null)
104 {
105 OnAcknowledgePrimCrossed(regionHandle, primID);
106 return true;
107 }
108 return false;
109 }
110
80 public virtual void TriggerCloseAgentConnection(ulong regionHandle, LLUUID agentID) 111 public virtual void TriggerCloseAgentConnection(ulong regionHandle, LLUUID agentID)
81 { 112 {
82 if (OnCloseAgentConnection != null) 113 if (OnCloseAgentConnection != null)