From f9945bf87f93d9e676801af77c4a7fdaf3999ef4 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Mon, 11 Aug 2008 23:20:14 +0000 Subject: Patch #9163 - Refactor initial packet sending out of InnerScene into ScenePresence. Pace prim delivery to about 200 updates/s max. Break a long-held lock that caused the notorious MapBlockQuery XMLRPC timeout on agent login. Eliminate 60 second timeout at "Waiting for region handshake". Fix region crossing/teleport response. Fix appearance in primmy regions. --- OpenSim/Region/Environment/Scenes/InnerScene.cs | 37 ------------------------- 1 file changed, 37 deletions(-) (limited to 'OpenSim/Region/Environment/Scenes/InnerScene.cs') diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs index 8b395a2..c4e4919 100644 --- a/OpenSim/Region/Environment/Scenes/InnerScene.cs +++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs @@ -954,43 +954,6 @@ namespace OpenSim.Region.Environment.Scenes return LLUUID.Zero; } - protected internal void SendAllSceneObjectsToClient(ScenePresence presence) - { - List EntityList = GetEntities(); - - foreach (EntityBase ent in EntityList) - { - if (ent is SceneObjectGroup) - { - // Only send child agents stuff in their draw distance. - // This will need to be done for every agent once we figure out - // what we're going to use to store prim that agents already got - // the initial update for and what we'll use to limit the - // space we check for new objects on movement. - - if (presence.IsChildAgent && m_parentScene.m_seeIntoRegionFromNeighbor) - { - LLVector3 oLoc = ((SceneObjectGroup)ent).AbsolutePosition; - float distResult = (float)Util.GetDistanceTo(presence.AbsolutePosition, oLoc); - - //m_log.Info("[DISTANCE]: " + distResult.ToString()); - - if (distResult < presence.DrawDistance) - { - // Send Only if we don't already know about it. - // KnownPrim also makes the prim known when called. - if (!presence.KnownPrim(((SceneObjectGroup)ent).UUID)) - ((SceneObjectGroup)ent).ScheduleFullUpdateToAvatar(presence); - } - } - else - { - ((SceneObjectGroup)ent).ScheduleFullUpdateToAvatar(presence); - } - } - } - } - protected internal void ForEachClient(Action action) { lock (ScenePresences) -- cgit v1.1