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