mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 11:57:03 +08:00
Throttle the viewer's requests for region handles. Apparently Kokua is requesting this for all landmarks in inventory. Not sure why. But this seems to be the root cause of the login freeze mentioned before. This commit adds a blocking queue / process thread pattern.
This commit is contained in:
@@ -3103,7 +3103,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
{
|
||||
//client.OnNameFromUUIDRequest += HandleUUIDNameRequest;
|
||||
client.OnMoneyTransferRequest += ProcessMoneyTransferRequest;
|
||||
client.OnRegionHandleRequest += RegionHandleRequest;
|
||||
}
|
||||
|
||||
public virtual void SubscribeToClientNetworkEvents(IClientAPI client)
|
||||
@@ -3227,7 +3226,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
{
|
||||
//client.OnNameFromUUIDRequest -= HandleUUIDNameRequest;
|
||||
client.OnMoneyTransferRequest -= ProcessMoneyTransferRequest;
|
||||
client.OnRegionHandleRequest -= RegionHandleRequest;
|
||||
}
|
||||
|
||||
public virtual void UnSubscribeToClientNetworkEvents(IClientAPI client)
|
||||
@@ -4887,22 +4885,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
|
||||
#endregion
|
||||
|
||||
public void RegionHandleRequest(IClientAPI client, UUID regionID)
|
||||
{
|
||||
m_log.DebugFormat("[SCENE]: RegionHandleRequest {0}", regionID);
|
||||
ulong handle = 0;
|
||||
if (regionID == RegionInfo.RegionID)
|
||||
handle = RegionInfo.RegionHandle;
|
||||
else
|
||||
{
|
||||
GridRegion r = GridService.GetRegionByUUID(UUID.Zero, regionID);
|
||||
if (r != null)
|
||||
handle = r.RegionHandle;
|
||||
}
|
||||
|
||||
if (handle != 0)
|
||||
client.SendRegionHandle(regionID, handle);
|
||||
}
|
||||
|
||||
// Commented pending deletion since this method no longer appears to do anything at all
|
||||
// public bool NeedSceneCacheClear(UUID agentID)
|
||||
|
||||
Reference in New Issue
Block a user