From 36dd346a91a4dab41e7acb5edc1a8b62f32757bc Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Mon, 4 May 2009 14:25:19 +0000 Subject: Add a method to flush the prim update buffers once a frame, since the timer appear to be too slow to be useful, or fail too fire. I may remove the timers as a consequence if this. --- OpenSim/Client/MXP/ClientStack/MXPClientView.cs | 4 ++++ OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs | 5 +++++ OpenSim/Framework/IClientAPI.cs | 2 ++ OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 12 ++++++++++++ OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs | 4 ++++ OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 ++ OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs | 4 ++++ OpenSim/Tests/Common/Mock/TestClient.cs | 4 ++++ 8 files changed, 37 insertions(+) diff --git a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs index d8e2711..c9e56e6 100644 --- a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs +++ b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs @@ -1045,6 +1045,10 @@ namespace OpenSim.Client.MXP.ClientStack Session.Send(me); } + public void FlushPrimUpdates() + { + } + public void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List items, List folders, bool fetchFolders, bool fetchItems) { // Need to translate to MXP somehow diff --git a/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs b/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs index c37bc06..ba41e8c 100644 --- a/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs +++ b/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs @@ -593,6 +593,11 @@ namespace OpenSim.Client.VWoHTTP.ClientStack throw new System.NotImplementedException(); } + public void FlushPrimUpdates() + { + throw new System.NotImplementedException(); + } + public void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List items, List folders, bool fetchFolders, bool fetchItems) { throw new System.NotImplementedException(); diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 32544b9..28d5502 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs @@ -902,6 +902,8 @@ namespace OpenSim.Framework List folders, bool fetchFolders, bool fetchItems); + void FlushPrimUpdates(); + void SendInventoryItemDetails(UUID ownerID, InventoryItemBase item); /// diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 7cd324c..ae93e11 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -3141,6 +3141,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP } } + public void FlushPrimUpdates() + { + while (m_primFullUpdates.Count > 0) + { + ProcessPrimFullUpdates(this, null); + } + while (m_primTerseUpdates.Count > 0) + { + ProcessPrimTerseUpdates(this, null); + } + } + public void SendAssetUploadCompleteMessage(sbyte AssetType, bool Success, UUID AssetFullID) { AssetUploadCompletePacket newPack = new AssetUploadCompletePacket(); diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index 036c9a4..ddb27fe 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs @@ -543,6 +543,10 @@ namespace OpenSim.Region.Examples.SimpleModule { } + public void FlushPrimUpdates() + { + } + public virtual void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List items, List folders, diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 7e1063d..8fd4b47 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -840,6 +840,8 @@ namespace OpenSim.Region.Framework.Scenes } } + ControllingClient.FlushPrimUpdates(); + m_scene.StatsReporter.AddAgentTime(Environment.TickCount - m_perfMonMS); } diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index b20b15b..d3be827 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs @@ -631,6 +631,10 @@ namespace OpenSim.Region.OptionalModules.World.NPC { } + public void FlushPrimUpdates() + { + } + public virtual void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List items, List folders, diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs index 39520e7..256d6fd 100644 --- a/OpenSim/Tests/Common/Mock/TestClient.cs +++ b/OpenSim/Tests/Common/Mock/TestClient.cs @@ -630,6 +630,10 @@ namespace OpenSim.Tests.Common.Mock { } + public void FlushPrimUpdates() + { + } + public virtual void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List items, List folders, -- cgit v1.1