diff options
author | Teravus Ovares | 2007-11-21 02:17:24 +0000 |
---|---|---|
committer | Teravus Ovares | 2007-11-21 02:17:24 +0000 |
commit | 7cb38712d5ad6781e672e4f1c8500ecd88d85f3e (patch) | |
tree | 5203c9901fdbba5ec8d9a21880d7895f593af540 /OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs | |
parent | fix for mantis #2 from Justin Casey (IBM) (diff) | |
download | opensim-SC_OLD-7cb38712d5ad6781e672e4f1c8500ecd88d85f3e.zip opensim-SC_OLD-7cb38712d5ad6781e672e4f1c8500ecd88d85f3e.tar.gz opensim-SC_OLD-7cb38712d5ad6781e672e4f1c8500ecd88d85f3e.tar.bz2 opensim-SC_OLD-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 'OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs')
-rw-r--r-- | OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs b/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs index a127010..70018fd 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs | |||
@@ -37,12 +37,18 @@ namespace OpenSim.Region.Communications.OGS1 | |||
37 | 37 | ||
38 | public delegate bool ExpectArrival(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying); | 38 | public delegate bool ExpectArrival(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying); |
39 | 39 | ||
40 | public delegate bool InformRegionPrimGroup(ulong regionHandle, LLUUID primID, LLVector3 Positon, bool isPhysical); | ||
41 | |||
42 | public delegate bool PrimGroupArrival(ulong regionHandle, LLUUID primID, string objData); | ||
43 | |||
40 | public sealed class InterRegionSingleton | 44 | public sealed class InterRegionSingleton |
41 | { | 45 | { |
42 | private static readonly InterRegionSingleton instance = new InterRegionSingleton(); | 46 | private static readonly InterRegionSingleton instance = new InterRegionSingleton(); |
43 | 47 | ||
44 | public event InformRegionChild OnChildAgent; | 48 | public event InformRegionChild OnChildAgent; |
45 | public event ExpectArrival OnArrival; | 49 | public event ExpectArrival OnArrival; |
50 | public event InformRegionPrimGroup OnPrimGroupNear; | ||
51 | public event PrimGroupArrival OnPrimGroupArrival; | ||
46 | 52 | ||
47 | static InterRegionSingleton() | 53 | static InterRegionSingleton() |
48 | { | 54 | { |
@@ -74,6 +80,22 @@ namespace OpenSim.Region.Communications.OGS1 | |||
74 | } | 80 | } |
75 | return false; | 81 | return false; |
76 | } | 82 | } |
83 | public bool InformRegionPrim(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical) | ||
84 | { | ||
85 | if (OnPrimGroupNear != null) | ||
86 | { | ||
87 | return OnPrimGroupNear(regionHandle, primID, position, isPhysical); | ||
88 | } | ||
89 | return false; | ||
90 | } | ||
91 | public bool ExpectPrimCrossing(ulong regionHandle, LLUUID primID, string objData) | ||
92 | { | ||
93 | if (OnPrimGroupArrival != null) | ||
94 | { | ||
95 | return OnPrimGroupArrival(regionHandle, primID, objData); | ||
96 | } | ||
97 | return false; | ||
98 | } | ||
77 | } | 99 | } |
78 | 100 | ||
79 | public class OGS1InterRegionRemoting : MarshalByRefObject | 101 | public class OGS1InterRegionRemoting : MarshalByRefObject |
@@ -107,5 +129,31 @@ namespace OpenSim.Region.Communications.OGS1 | |||
107 | return false; | 129 | return false; |
108 | } | 130 | } |
109 | } | 131 | } |
132 | public bool InformRegionPrim(ulong regionHandle, LLUUID SceneObjectGroupID, LLVector3 position, bool isPhysical) | ||
133 | { | ||
134 | try | ||
135 | { | ||
136 | return InterRegionSingleton.Instance.InformRegionPrim(regionHandle, SceneObjectGroupID, position, isPhysical); | ||
137 | } | ||
138 | catch (RemotingException e) | ||
139 | { | ||
140 | Console.WriteLine("Remoting Error: Unable to connect to remote region.\n" + e.ToString()); | ||
141 | return false; | ||
142 | } | ||
143 | |||
144 | } | ||
145 | public bool InformRegionOfPrimCrossing(ulong regionHandle,LLUUID primID, string objData) | ||
146 | { | ||
147 | try | ||
148 | { | ||
149 | return InterRegionSingleton.Instance.ExpectPrimCrossing(regionHandle, primID, objData); | ||
150 | } | ||
151 | catch (RemotingException e) | ||
152 | { | ||
153 | Console.WriteLine("Remoting Error: Unable to connect to remote region.\n" + e.ToString()); | ||
154 | return false; | ||
155 | } | ||
156 | } | ||
157 | |||
110 | } | 158 | } |
111 | } \ No newline at end of file | 159 | } \ No newline at end of file |