diff options
author | Justin Clark-Casey (justincc) | 2011-12-08 18:34:23 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-12-08 18:34:23 +0000 |
commit | f61e54892f2284b6f89bacf3069467c05b2eea11 (patch) | |
tree | 87cb0933707a8e02f920910c7669273232021470 /OpenSim/Framework/IScene.cs | |
parent | Simplify Scene.AddNewClient() (diff) | |
download | opensim-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/Framework/IScene.cs')
-rw-r--r-- | OpenSim/Framework/IScene.cs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/OpenSim/Framework/IScene.cs b/OpenSim/Framework/IScene.cs index 7b0fe37..6919c48 100644 --- a/OpenSim/Framework/IScene.cs +++ b/OpenSim/Framework/IScene.cs | |||
@@ -68,12 +68,16 @@ namespace OpenSim.Framework | |||
68 | event restart OnRestart; | 68 | event restart OnRestart; |
69 | 69 | ||
70 | /// <summary> | 70 | /// <summary> |
71 | /// Register the new client with the scene. The client starts off as a child agent - the later agent crossing | 71 | /// Add a new client and create a presence for it. All clients except initial login clients will starts off as a child agent |
72 | /// will promote it to a root agent. | 72 | /// - the later agent crossing will promote it to a root agent. |
73 | /// </summary> | 73 | /// </summary> |
74 | /// <param name="client"></param> | 74 | /// <param name="client"></param> |
75 | /// <param name="type">The type of agent to add.</param> | 75 | /// <param name="type">The type of agent to add.</param> |
76 | void AddNewClient(IClientAPI client, PresenceType type); | 76 | /// <returns> |
77 | /// The scene agent if the new client was added. | ||
78 | /// Null if the required scene agent already existed or no scene agent was added because the required client circuit doesn't exist. | ||
79 | /// </returns> | ||
80 | ISceneAgent AddNewClient(IClientAPI client, PresenceType type); | ||
77 | 81 | ||
78 | /// <summary> | 82 | /// <summary> |
79 | /// Remove the given client from the scene. | 83 | /// Remove the given client from the scene. |