From 7cb38712d5ad6781e672e4f1c8500ecd88d85f3e Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Wed, 21 Nov 2007 02:17:24 +0000 Subject: * 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. --- .../Communications/Local/LocalBackEndServices.cs | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'OpenSim/Region/Communications/Local') diff --git a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs index 5d4e702..4efaa23 100644 --- a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs +++ b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs @@ -173,6 +173,15 @@ namespace OpenSim.Region.Communications.Local return false; } + public bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData) + { + if (m_regionListeners.ContainsKey(regionHandle)) + { + m_regionListeners[regionHandle].TriggerExpectPrim(regionHandle, primID, objData); + return true; + } + return false; + } /// /// /// @@ -190,6 +199,15 @@ namespace OpenSim.Region.Communications.Local } return false; } + public bool ExpectPrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical) + { + if (m_regionListeners.ContainsKey(regionHandle)) + { + m_regionListeners[regionHandle].TriggerExpectPrimCrossing(regionHandle, primID, position, isPhysical); + return true; + } + return false; + } public void TellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID) { @@ -207,6 +225,14 @@ namespace OpenSim.Region.Communications.Local } return false; } + public bool AcknowledgePrimCrossed(ulong regionHandle, LLUUID primID) + { + if (m_regionListeners.ContainsKey(regionHandle)) + { + return true; + } + return false; + } /// /// Is a Sandbox mode method, used by the local Login server to inform a region of a connection user/session @@ -240,6 +266,15 @@ namespace OpenSim.Region.Communications.Local } } + public void TriggerExpectPrim(ulong regionHandle, LLUUID primID, string objData) + { + if (m_regionListeners.ContainsKey(regionHandle)) + { + m_regionListeners[regionHandle].TriggerExpectPrim(regionHandle, primID, objData); + } + + } + public void PingCheckReply(Hashtable respData) { foreach (ulong region in m_regions.Keys) @@ -264,6 +299,15 @@ namespace OpenSim.Region.Communications.Local return false; } + public bool TriggerExpectPrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical) + { + if (m_regionListeners.ContainsKey(regionHandle)) + { + return m_regionListeners[regionHandle].TriggerExpectPrimCrossing(regionHandle, primID, position, isPhysical); + } + return false; + } + public bool IncomingChildAgent(ulong regionHandle, AgentCircuitData agentData) { if (m_regionListeners.ContainsKey(regionHandle)) -- cgit v1.1