From 3fe6b2280d0b335ef8d9f2b0dc3406a47e6c0b53 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Mon, 21 Jan 2008 23:04:42 +0000 Subject: * Shutting down child agents properly in neighbor regions. --- OpenSim/Framework/Communications/CommunicationsManager.cs | 1 + .../Framework/Communications/IInterRegionCommunications.cs | 2 +- OpenSim/Framework/IRegionCommsListener.cs | 5 ++++- OpenSim/Framework/RegionCommsListener.cs | 14 +++++++++++++- 4 files changed, 19 insertions(+), 3 deletions(-) (limited to 'OpenSim/Framework') diff --git a/OpenSim/Framework/Communications/CommunicationsManager.cs b/OpenSim/Framework/Communications/CommunicationsManager.cs index baf24f0..dd7c168 100644 --- a/OpenSim/Framework/Communications/CommunicationsManager.cs +++ b/OpenSim/Framework/Communications/CommunicationsManager.cs @@ -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); + } /// diff --git a/OpenSim/Framework/Communications/IInterRegionCommunications.cs b/OpenSim/Framework/Communications/IInterRegionCommunications.cs index 13ae21f..e93719e 100644 --- a/OpenSim/Framework/Communications/IInterRegionCommunications.cs +++ b/OpenSim/Framework/Communications/IInterRegionCommunications.cs @@ -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); } } \ No newline at end of file diff --git a/OpenSim/Framework/IRegionCommsListener.cs b/OpenSim/Framework/IRegionCommsListener.cs index 19608c8..c8fc9c5 100644 --- a/OpenSim/Framework/IRegionCommsListener.cs +++ b/OpenSim/Framework/IRegionCommsListener.cs @@ -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; + } } \ No newline at end of file diff --git a/OpenSim/Framework/RegionCommsListener.cs b/OpenSim/Framework/RegionCommsListener.cs index 1db5aae..c12c3df 100644 --- a/OpenSim/Framework/RegionCommsListener.cs +++ b/OpenSim/Framework/RegionCommsListener.cs @@ -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; } /// @@ -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; + } } } \ No newline at end of file -- cgit v1.1