* Shutting down child agents properly in neighbor regions.

This commit is contained in:
Teravus Ovares
2008-01-21 23:04:42 +00:00
parent 274d958893
commit 3fe6b2280d
9 changed files with 183 additions and 26 deletions

View File

@@ -175,6 +175,7 @@ namespace OpenSim.Framework.Communications
public void LogOffUser(LLUUID userid, LLUUID regionid, ulong regionhandle, float posx, float posy, float posz)
{
m_userService.LogOffUser(userid, regionid, regionhandle, posx, posy, posz);
}
/// <summary>

View File

@@ -45,6 +45,6 @@ namespace OpenSim.Framework.Communications
bool AcknowledgeAgentCrossed(ulong regionHandle, LLUUID agentId);
bool AcknowledgePrimCrossed(ulong regionHandle, LLUUID primID);
void TellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID);
bool TellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID);
}
}

View File

@@ -44,12 +44,14 @@ namespace OpenSim.Framework
public delegate void AcknowledgePrimCross(ulong regionHandle, LLUUID PrimID);
public delegate void CloseAgentConnection(ulong regionHandle, LLUUID agentID);
public delegate bool CloseAgentConnection(ulong regionHandle, LLUUID agentID);
public delegate bool RegionUp(RegionInfo region);
public delegate bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData);
public interface IRegionCommsListener
{
@@ -64,5 +66,6 @@ namespace OpenSim.Framework
event CloseAgentConnection OnCloseAgentConnection;
event RegionUp OnRegionUp;
event ChildAgentUpdate OnChildAgentUpdate;
}
}

View File

@@ -45,6 +45,7 @@ namespace OpenSim.Framework
public event CloseAgentConnection OnCloseAgentConnection;
public event RegionUp OnRegionUp;
public event ChildAgentUpdate OnChildAgentUpdate;
public string debugRegionName = String.Empty;
@@ -139,12 +140,15 @@ namespace OpenSim.Framework
return false;
}
public virtual void TriggerCloseAgentConnection(ulong regionHandle, LLUUID agentID)
public virtual bool TriggerCloseAgentConnection(ulong regionHandle, LLUUID agentID)
{
if (OnCloseAgentConnection != null)
{
OnCloseAgentConnection(regionHandle, agentID);
return true;
}
return false;
}
/// <summary>
@@ -179,5 +183,13 @@ namespace OpenSim.Framework
return false;
}
public bool TriggerTellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID)
{
if (OnCloseAgentConnection != null)
return OnCloseAgentConnection(regionHandle, agentID);
return false;
}
}
}