aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/InnerScene.cs
diff options
context:
space:
mode:
authorMelanie Thielker2008-08-11 23:20:14 +0000
committerMelanie Thielker2008-08-11 23:20:14 +0000
commitf9945bf87f93d9e676801af77c4a7fdaf3999ef4 (patch)
treedf0fdd2c2dc79cab484478b8aee0704febbb49a5 /OpenSim/Region/Environment/Scenes/InnerScene.cs
parent* minor: replace hard tabs with soft 4 space tabs in previous patch (diff)
downloadopensim-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.cs37
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)