Change UpdateAgent (for changes in agent position) to be sent

once to each simulator rather than once to each region. This
should help with some of the delays caused by multiple outstanding
requests to a single service point.
This commit is contained in:
Mic Bowman
2011-02-03 12:43:46 -08:00
parent 8fdc810a23
commit cf24069227
3 changed files with 81 additions and 31 deletions

View File

@@ -225,17 +225,17 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
if (destination == null)
return false;
// We limit the number of messages sent for a position change to just one per
// simulator so when we receive the update we need to hand it to each of the
// scenes; scenes each check to see if the is a scene presence for the avatar
// note that we really don't need the GridRegion for this call
foreach (Scene s in m_sceneList)
{
if (s.RegionInfo.RegionHandle == destination.RegionHandle)
{
//m_log.Debug("[LOCAL COMMS]: Found region to send ChildAgentUpdate");
s.IncomingChildAgentDataUpdate(cAgentData);
return true;
}
//m_log.Debug("[LOCAL COMMS]: Found region to send ChildAgentUpdate");
s.IncomingChildAgentDataUpdate(cAgentData);
}
//m_log.Debug("[LOCAL COMMS]: region not found for ChildAgentUpdate");
return false;
return true;
}
public bool RetrieveAgent(GridRegion destination, UUID id, out IAgentData agent)