aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-12-08 18:34:23 +0000
committerJustin Clark-Casey (justincc)2011-12-08 18:34:23 +0000
commitf61e54892f2284b6f89bacf3069467c05b2eea11 (patch)
tree87cb0933707a8e02f920910c7669273232021470 /OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
parentSimplify Scene.AddNewClient() (diff)
downloadopensim-SC-f61e54892f2284b6f89bacf3069467c05b2eea11.zip
opensim-SC-f61e54892f2284b6f89bacf3069467c05b2eea11.tar.gz
opensim-SC-f61e54892f2284b6f89bacf3069467c05b2eea11.tar.bz2
opensim-SC-f61e54892f2284b6f89bacf3069467c05b2eea11.tar.xz
On a new client circuit, send the initial reply ack to let the client know it's live before sending other data.
This means that avatar/appearance data of other avatars and scene objects for a client will be sent after the ack rather than possibly before. This may stop some avatars appearing grey on login. This introduces a new OpenSim.Framework.ISceneAgent to accompany the existing OpenSim.Framework.ISceneObject and ISceneEntity This allows IClientAPI to handle this as it can't reference OpenSim.Region.Framework.Interfaces
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs4
1 files changed, 3 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 7d39ddc..f246637 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -379,6 +379,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
379 set { m_startpos = value; } 379 set { m_startpos = value; }
380 } 380 }
381 public UUID AgentId { get { return m_agentId; } } 381 public UUID AgentId { get { return m_agentId; } }
382 public ISceneAgent SceneAgent { get; private set; }
382 public UUID ActiveGroupId { get { return m_activeGroupID; } } 383 public UUID ActiveGroupId { get { return m_activeGroupID; } }
383 public string ActiveGroupName { get { return m_activeGroupName; } } 384 public string ActiveGroupName { get { return m_activeGroupName; } }
384 public ulong ActiveGroupPowers { get { return m_activeGroupPowers; } } 385 public ulong ActiveGroupPowers { get { return m_activeGroupPowers; } }
@@ -508,6 +509,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
508 509
509 // Remove ourselves from the scene 510 // Remove ourselves from the scene
510 m_scene.RemoveClient(AgentId, true); 511 m_scene.RemoveClient(AgentId, true);
512 SceneAgent = null;
511 513
512 // We can't reach into other scenes and close the connection 514 // We can't reach into other scenes and close the connection
513 // We need to do this over grid communications 515 // We need to do this over grid communications
@@ -687,7 +689,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
687 689
688 public virtual void Start() 690 public virtual void Start()
689 { 691 {
690 m_scene.AddNewClient(this, PresenceType.User); 692 SceneAgent = m_scene.AddNewClient(this, PresenceType.User);
691 693
692 RefreshGroupMembership(); 694 RefreshGroupMembership();
693 } 695 }