From 6c945ae38fd85c7c9ef51c592f932d7edc9c46ec Mon Sep 17 00:00:00 2001 From: "Huaiyu (Kitty) Liu" Date: Wed, 11 May 2011 16:23:31 -0700 Subject: [PATCH] Removed calling of AddOrUpdateObjectBySynchronization from Scene and SceneGraph. Removed Bucket Sync related code from SceneObjectGroup. --- .../SymmetricSync/RegionSyncModule.cs | 67 ------------------- OpenSim/Region/Framework/Scenes/Scene.cs | 8 --- OpenSim/Region/Framework/Scenes/SceneGraph.cs | 36 ---------- .../Framework/Scenes/SceneObjectGroup.cs | 42 ------------ 4 files changed, 153 deletions(-) diff --git a/OpenSim/Region/CoreModules/RegionSync/RegionSyncModule/SymmetricSync/RegionSyncModule.cs b/OpenSim/Region/CoreModules/RegionSync/RegionSyncModule/SymmetricSync/RegionSyncModule.cs index bf1555837f..f7c90faa22 100644 --- a/OpenSim/Region/CoreModules/RegionSync/RegionSyncModule/SymmetricSync/RegionSyncModule.cs +++ b/OpenSim/Region/CoreModules/RegionSync/RegionSyncModule/SymmetricSync/RegionSyncModule.cs @@ -1941,42 +1941,6 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule } - private void HandleAddOrUpdateObjectBySynchronization(SymmetricSyncMessage msg, string senderActorID) - { - string sogxml = Encoding.ASCII.GetString(msg.Data, 0, msg.Length); - SceneObjectGroup sog = SceneObjectSerializer.FromXml2Format(sogxml); - lock (m_stats) m_statSOGBucketIn++; - - - if (sog.IsDeleted) - { - SymmetricSyncMessage.HandleTrivial(LogHeader, msg, String.Format("Ignoring update on deleted object, UUID: {0}.", sog.UUID)); - return; - } - else - { - - Scene.ObjectUpdateResult updateResult = m_scene.AddOrUpdateObjectBySynchronization(sog); - - //if (added) - switch (updateResult) - { - case Scene.ObjectUpdateResult.New: - m_log.DebugFormat("[{0} Object \"{1}\" ({1}) ({2}) added.", LogHeader, sog.Name, sog.UUID.ToString(), sog.LocalId.ToString()); - break; - case Scene.ObjectUpdateResult.Updated: - m_log.DebugFormat("[{0} Object \"{1}\" ({1}) ({2}) updated.", LogHeader, sog.Name, sog.UUID.ToString(), sog.LocalId.ToString()); - break; - case Scene.ObjectUpdateResult.Error: - m_log.WarnFormat("[{0} Object \"{1}\" ({1}) ({2}) -- add or update ERROR.", LogHeader, sog.Name, sog.UUID.ToString(), sog.LocalId.ToString()); - break; - case Scene.ObjectUpdateResult.Unchanged: - //m_log.DebugFormat("[{0} Object \"{1}\" ({1}) ({2}) unchanged after receiving an update.", LogHeader, sog.Name, sog.UUID.ToString(), sog.LocalId.ToString()); - break; - } - } - } - /// /// Send out a sync message about the updated Terrain. If this is a relay node, /// forward the sync message to all connectors except the one which initiated @@ -2152,27 +2116,6 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule UUID primUUID = data["primUUID"].AsUUID(); UUID itemID = data["itemID"].AsUUID(); - /* - string sogXml = data["sog"].AsString(); - SceneObjectGroup sog = SceneObjectSerializer.FromXml2Format(sogXml); - SceneObjectPart part = null; - - foreach (SceneObjectPart prim in sog.Parts) - { - if(prim.UUID.Equals(primID)){ - part = prim; - break; - } - } - if(part == null) - { - m_log.Warn(LogHeader+": part "+primID+" not exist in the serialized object, do nothing"); - return; - } - //Update the object first - Scene.ObjectUpdateResult updateResult = m_scene.AddOrUpdateObjectBySynchronization(sog); - * */ - SceneObjectPart localPart = m_scene.GetSceneObjectPart(primUUID); if (localPart == null || localPart.ParentGroup.IsDeleted) @@ -2445,16 +2388,6 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule //sog = new SceneObjectGroup(part); return; } - /* - //For simplicity, we just leverage a SOP's serialization method to transmit the information of new inventory item for the script). - //This can certainly be optimized later (e.g. only sending serialization of the inventory item) - OSDMap data = new OSDMap(); - data["agentID"] = OSD.FromUUID(clientID); - data["primID"] = OSD.FromUUID(part.UUID); - data["itemID"] = OSD.FromUUID(itemID); //id of the new inventory item of the part - data["sog"] = OSD.FromString(SceneObjectSerializer.ToXml2Format(sog)); - * */ - HashSet updatedProperties = m_primSyncInfoManager.UpdatePrimSyncInfoByLocal(part, new List(){SceneObjectPartSyncProperties.TaskInventory}); diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 9f61ae5fd7..00750c9e99 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -663,14 +663,6 @@ namespace OpenSim.Region.Framework.Scenes return ""; } - //This function should only be called by an actor who's local Scene is just a cache of the authorative Scene. - //If the object already exists, use the new copy to replace it. - //Return true if added, false if just updated - public ObjectUpdateResult AddOrUpdateObjectBySynchronization(SceneObjectGroup sog) - { - return m_sceneGraph.AddOrUpdateObjectBySynchronization(sog); - } - public ObjectUpdateResult UpdateObjectBySynchronization(SceneObjectGroup sog) { return m_sceneGraph.UpdateObjectBySynchronization(sog); diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index 0e437ab806..a6b9831679 100644 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs @@ -2033,42 +2033,6 @@ namespace OpenSim.Region.Framework.Scenes return updateResult; } - public Scene.ObjectUpdateResult AddOrUpdateObjectBySynchronization(SceneObjectGroup updatedSog) - { - UUID sogID = updatedSog.UUID; - Scene.ObjectUpdateResult updateResult = Scene.ObjectUpdateResult.Unchanged; - - if (Entities.ContainsKey(sogID)) - { - //update the object - EntityBase entity = Entities[sogID]; - if (entity is SceneObjectGroup) - { - SceneObjectGroup localSog = (SceneObjectGroup)entity; - updateResult = localSog.UpdateObjectGroupBySync(updatedSog); - } - else - { - m_log.WarnFormat("{0}: Entity with {1} iss not of type SceneObjectGroup: {2}", - "[SCENE GRAPH]", sogID, entity.GetType().ToString()); - //return false; - updateResult = Scene.ObjectUpdateResult.Error; - } - } - else - { - //m_log.Debug(updatedSog.Name+" "+updatedSog.UUID+" not found in Entities list. Need to add"); - AddNewSceneObjectBySync(updatedSog); - updateResult = Scene.ObjectUpdateResult.New; - } - - //Debug - //m_log.Debug("after AddOrUpdateObjectBySynchronization"); - //m_parentScene.DebugSceneObjectGroups(); - - return updateResult; - } - //This is called when an object is added due to receiving a state synchronization message from Scene or an actor. Do similar things as the original AddSceneObject(), //but call ScheduleGroupForFullUpdate_TimeStampUnchanged() instead, so as not to modify the timestamp or actorID, since the object was not created locally. public Scene.ObjectUpdateResult AddNewSceneObjectBySync(SceneObjectGroup sceneObject) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index c4413482d9..6a19a86ff1 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -599,17 +599,6 @@ namespace OpenSim.Region.Framework.Scenes // Don't trigger the update here - otherwise some client issues occur when multiple updates are scheduled // for the same object with very different properties. The caller must schedule the update. //ScheduleGroupForFullUpdate(); - - //DSG SYNC - /* - if (m_scene.RegionSyncModule != null) - { - foreach (SceneObjectPart part in Parts) - { - part.InitializeBucketSyncInfo(); - } - } - * */ } public Vector3 GroupScale() @@ -3999,37 +3988,6 @@ namespace OpenSim.Region.Framework.Scenes } - /////////////////////////////////////////////////////////////////////// - // Bucket based sync - /////////////////////////////////////////////////////////////////////// - - public void BucketSyncInfoUpdate() - { - long timeStamp = DateTime.Now.Ticks; - string actorID = m_scene.GetSyncActorID(); - foreach (SceneObjectPart part in Parts) - { - //part.SyncInfoUpdate(timeStamp, actorID); - part.UpdateAllBucketSyncInfo(timeStamp); - } - } - - public void UpdateTaintedBucketSyncInfo(long timeStamp) - { - foreach (SceneObjectPart part in Parts) - { - part.UpdateTaintedBucketSyncInfo(timeStamp); - } - } - - public void UpdateTaintedBucketSyncInfo(string bucketName, long timeStamp) - { - foreach (SceneObjectPart part in Parts) - { - part.UpdateTaintedBucketSyncInfo(bucketName, timeStamp); - } - - } /////////////////////////////////////////////////////////////////////// // Per SOP property based sync