diff options
author | Melanie Thielker | 2008-08-11 23:20:14 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-08-11 23:20:14 +0000 |
commit | f9945bf87f93d9e676801af77c4a7fdaf3999ef4 (patch) | |
tree | df0fdd2c2dc79cab484478b8aee0704febbb49a5 /OpenSim/Region/Environment/Scenes/InnerScene.cs | |
parent | * minor: replace hard tabs with soft 4 space tabs in previous patch (diff) | |
download | opensim-SC-f9945bf87f93d9e676801af77c4a7fdaf3999ef4.zip opensim-SC-f9945bf87f93d9e676801af77c4a7fdaf3999ef4.tar.gz opensim-SC-f9945bf87f93d9e676801af77c4a7fdaf3999ef4.tar.bz2 opensim-SC-f9945bf87f93d9e676801af77c4a7fdaf3999ef4.tar.xz |
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.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/InnerScene.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/InnerScene.cs | 37 |
1 files changed, 0 insertions, 37 deletions
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 | |||
954 | return LLUUID.Zero; | 954 | return LLUUID.Zero; |
955 | } | 955 | } |
956 | 956 | ||
957 | protected internal void SendAllSceneObjectsToClient(ScenePresence presence) | ||
958 | { | ||
959 | List<EntityBase> EntityList = GetEntities(); | ||
960 | |||
961 | foreach (EntityBase ent in EntityList) | ||
962 | { | ||
963 | if (ent is SceneObjectGroup) | ||
964 | { | ||
965 | // Only send child agents stuff in their draw distance. | ||
966 | // This will need to be done for every agent once we figure out | ||
967 | // what we're going to use to store prim that agents already got | ||
968 | // the initial update for and what we'll use to limit the | ||
969 | // space we check for new objects on movement. | ||
970 | |||
971 | if (presence.IsChildAgent && m_parentScene.m_seeIntoRegionFromNeighbor) | ||
972 | { | ||
973 | LLVector3 oLoc = ((SceneObjectGroup)ent).AbsolutePosition; | ||
974 | float distResult = (float)Util.GetDistanceTo(presence.AbsolutePosition, oLoc); | ||
975 | |||
976 | //m_log.Info("[DISTANCE]: " + distResult.ToString()); | ||
977 | |||
978 | if (distResult < presence.DrawDistance) | ||
979 | { | ||
980 | // Send Only if we don't already know about it. | ||
981 | // KnownPrim also makes the prim known when called. | ||
982 | if (!presence.KnownPrim(((SceneObjectGroup)ent).UUID)) | ||
983 | ((SceneObjectGroup)ent).ScheduleFullUpdateToAvatar(presence); | ||
984 | } | ||
985 | } | ||
986 | else | ||
987 | { | ||
988 | ((SceneObjectGroup)ent).ScheduleFullUpdateToAvatar(presence); | ||
989 | } | ||
990 | } | ||
991 | } | ||
992 | } | ||
993 | |||
994 | protected internal void ForEachClient(Action<IClientAPI> action) | 957 | protected internal void ForEachClient(Action<IClientAPI> action) |
995 | { | 958 | { |
996 | lock (ScenePresences) | 959 | lock (ScenePresences) |