mirror of
https://github.com/opensim/opensim.git
synced 2026-08-09 02:36:00 +08:00
* 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.
This commit is contained in:
@@ -20,6 +20,8 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
public event AgentCrossing OnAvatarCrossingIntoRegion;
|
||||
public event ExpectUserDelegate OnExpectUser;
|
||||
public event CloseAgentConnection OnCloseAgentConnection;
|
||||
public event PrimCrossing OnPrimCrossingIntoRegion;
|
||||
|
||||
|
||||
public SceneCommunicationService(CommunicationsManager commsMan)
|
||||
{
|
||||
@@ -34,7 +36,10 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
{
|
||||
regionCommsHost.OnExpectUser += NewUserConnection;
|
||||
regionCommsHost.OnAvatarCrossingIntoRegion += AgentCrossing;
|
||||
regionCommsHost.OnPrimCrossingIntoRegion += PrimCrossing;
|
||||
regionCommsHost.OnCloseAgentConnection += CloseConnection;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +47,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
{
|
||||
regionCommsHost.OnExpectUser -= NewUserConnection;
|
||||
regionCommsHost.OnAvatarCrossingIntoRegion -= AgentCrossing;
|
||||
regionCommsHost.OnPrimCrossingIntoRegion -= PrimCrossing;
|
||||
regionCommsHost.OnCloseAgentConnection -= CloseConnection;
|
||||
m_commsProvider.GridService.DeregisterRegion(m_regionInfo);
|
||||
regionCommsHost = null;
|
||||
@@ -68,6 +74,13 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
OnAvatarCrossingIntoRegion(regionHandle, agentID, position, isFlying);
|
||||
}
|
||||
}
|
||||
protected void PrimCrossing(ulong regionHandle, LLUUID primID, LLVector3 position, bool isPhysical)
|
||||
{
|
||||
if (OnPrimCrossingIntoRegion != null)
|
||||
{
|
||||
OnPrimCrossingIntoRegion(regionHandle, primID, position, isPhysical);
|
||||
}
|
||||
}
|
||||
|
||||
protected void CloseConnection(ulong regionHandle, LLUUID agentID)
|
||||
{
|
||||
@@ -222,6 +235,11 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
return m_commsProvider.InterRegion.ExpectAvatarCrossing(regionhandle, agentID, position, isFlying);
|
||||
}
|
||||
|
||||
public bool PrimCrossToNeighboringRegion(ulong regionhandle, LLUUID primID, LLVector3 position, bool isPhysical)
|
||||
{
|
||||
return m_commsProvider.InterRegion.ExpectPrimCrossing(regionhandle, primID, position, isPhysical);
|
||||
}
|
||||
|
||||
public void CloseChildAgentConnections(ScenePresence presence)
|
||||
{
|
||||
foreach (ulong regionHandle in presence.KnownChildRegions)
|
||||
|
||||
Reference in New Issue
Block a user