aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.cs
diff options
context:
space:
mode:
authordiva2009-02-09 22:27:27 +0000
committerdiva2009-02-09 22:27:27 +0000
commit2c685bff1493451849580cfb6bf44b88322bf0a4 (patch)
tree4179700c2b1fcbcc7a5ab07f7bc65b3bf97a79d9 /OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.cs
parentThank you kindly, TLaukkan (Timmil) for a patch that: (diff)
downloadopensim-SC_OLD-2c685bff1493451849580cfb6bf44b88322bf0a4.zip
opensim-SC_OLD-2c685bff1493451849580cfb6bf44b88322bf0a4.tar.gz
opensim-SC_OLD-2c685bff1493451849580cfb6bf44b88322bf0a4.tar.bz2
opensim-SC_OLD-2c685bff1493451849580cfb6bf44b88322bf0a4.tar.xz
Moved prim crossing out of OGS1 and into RESTComms and LocalInterregionComms. This breaks interregion comms with older versions in what concerns prim crossing. In the process of moving the comms, a few things seem to be working better, namely this may address mantis #3011, mantis #1698. Hopefully, this doesn't break anything else. But I'm still seeing weirdnesses with attchments jumping out of place after a cross/TP.
The two most notable changes in the crossing process were: * Object gets passed in only one message, not two as done before. * Local object crossings do not get serialized, as done before.
Diffstat (limited to 'OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.cs')
-rw-r--r--OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.cs35
1 files changed, 35 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.cs b/OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.cs
index cb60d3f..33ccbf4 100644
--- a/OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.cs
+++ b/OpenSim/Region/Environment/Modules/Communications/Local/LocalInterregionComms.cs
@@ -116,6 +116,10 @@ namespace OpenSim.Region.Environment.Modules.Communications.Local
116 116
117 #region IInterregionComms 117 #region IInterregionComms
118 118
119 /**
120 * Agent-related communications
121 */
122
119 public bool SendCreateChildAgent(ulong regionHandle, AgentCircuitData aCircuit) 123 public bool SendCreateChildAgent(ulong regionHandle, AgentCircuitData aCircuit)
120 { 124 {
121 foreach (Scene s in m_sceneList) 125 foreach (Scene s in m_sceneList)
@@ -204,6 +208,37 @@ namespace OpenSim.Region.Environment.Modules.Communications.Local
204 return false; 208 return false;
205 } 209 }
206 210
211 /**
212 * Object-related communications
213 */
214
215 public bool SendCreateObject(ulong regionHandle, ISceneObject sog)
216 {
217 foreach (Scene s in m_sceneList)
218 {
219 if (s.RegionInfo.RegionHandle == regionHandle)
220 {
221 //m_log.Debug("[LOCAL COMMS]: Found region to SendCreateObject");
222 return s.IncomingCreateObject(sog);
223 }
224 }
225 return false;
226 }
227
207 #endregion /* IInterregionComms */ 228 #endregion /* IInterregionComms */
229
230 #region Misc
231
232 public UUID GetRegionID(ulong regionhandle)
233 {
234 foreach (Scene s in m_sceneList)
235 {
236 if (s.RegionInfo.RegionHandle == regionhandle)
237 return s.RegionInfo.RegionID;
238 }
239 // ? weird. should not happen
240 return m_sceneList[0].RegionInfo.RegionID;
241 }
242 #endregion
208 } 243 }
209} 244}