RegionSyncModule.SendLinkObject and SendLinkObject now call BucketSyncInfoUpdate() for the linked/delinked
objects, to make sure they have updated timestamp information for synchronization purpose.dsg
parent
63e35d53f7
commit
411fa60b2b
|
@ -515,6 +515,9 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//First, make sure the linked group has updated timestamp info for synchronization
|
||||||
|
linkedGroup.BucketSyncInfoUpdate();
|
||||||
|
|
||||||
OSDMap data = new OSDMap();
|
OSDMap data = new OSDMap();
|
||||||
string sogxml = SceneObjectSerializer.ToXml2Format(linkedGroup);
|
string sogxml = SceneObjectSerializer.ToXml2Format(linkedGroup);
|
||||||
data["linkedGroup"]=OSD.FromString(sogxml);
|
data["linkedGroup"]=OSD.FromString(sogxml);
|
||||||
|
@ -573,6 +576,12 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
groupNum++;
|
groupNum++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//make sure the newly delinked objects have the updated timestamp information
|
||||||
|
foreach (SceneObjectGroup sog in afterDelinkGroups)
|
||||||
|
{
|
||||||
|
sog.BucketSyncInfoUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
SymmetricSyncMessage rsm = new SymmetricSyncMessage(SymmetricSyncMessage.MsgType.DelinkObject, OSDParser.SerializeJsonString(data));
|
SymmetricSyncMessage rsm = new SymmetricSyncMessage(SymmetricSyncMessage.MsgType.DelinkObject, OSDParser.SerializeJsonString(data));
|
||||||
SendDelinkObjectToRelevantSyncConnectors(beforeDelinkGroups, rsm);
|
SendDelinkObjectToRelevantSyncConnectors(beforeDelinkGroups, rsm);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1601,7 +1601,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (m_parentScene.RegionSyncModule != null)
|
if (m_parentScene.RegionSyncModule != null)
|
||||||
{
|
{
|
||||||
//Tell other actors to link the SceneObjectParts together as a new group.
|
//Tell other actors to link the SceneObjectParts together as a new group.
|
||||||
//parentGroup.SyncInfoUpdate();
|
|
||||||
m_parentScene.RegionSyncModule.SendLinkObject(parentGroup, root, children);
|
m_parentScene.RegionSyncModule.SendLinkObject(parentGroup, root, children);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4046,17 +4046,19 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
public void SyncInfoUpdate()
|
public void BucketSyncInfoUpdate()
|
||||||
{
|
{
|
||||||
long timeStamp = DateTime.Now.Ticks;
|
long timeStamp = DateTime.Now.Ticks;
|
||||||
string actorID = m_scene.GetSyncActorID();
|
string actorID = m_scene.GetSyncActorID();
|
||||||
foreach (SceneObjectPart part in Parts)
|
foreach (SceneObjectPart part in Parts)
|
||||||
{
|
{
|
||||||
part.SyncInfoUpdate(timeStamp, actorID);
|
//part.SyncInfoUpdate(timeStamp, actorID);
|
||||||
|
part.UpdateAllBucketSyncInfo(timeStamp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
public void SyncInfoUpdate(long timeStamp, string actorID)
|
public void SyncInfoUpdate(long timeStamp, string actorID)
|
||||||
{
|
{
|
||||||
foreach (SceneObjectPart part in Parts)
|
foreach (SceneObjectPart part in Parts)
|
||||||
|
|
|
@ -5576,6 +5576,19 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void UpdateAllBucketSyncInfo(long timeStamp)
|
||||||
|
{
|
||||||
|
if (m_syncEnabled)
|
||||||
|
{
|
||||||
|
foreach (KeyValuePair<string, BucketSyncInfo> pair in m_bucketSyncInfoList)
|
||||||
|
{
|
||||||
|
string bucketName = pair.Key;
|
||||||
|
BucketSyncInfo syncInfo= pair.Value;
|
||||||
|
syncInfo.UpdateSyncInfo(timeStamp, m_localActorID);
|
||||||
|
m_bucketSyncTainted[bucketName] = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public Scene.ObjectUpdateResult UpdateAllProperties(SceneObjectPart updatedPart)
|
public Scene.ObjectUpdateResult UpdateAllProperties(SceneObjectPart updatedPart)
|
||||||
|
|
|
@ -3817,7 +3817,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
}
|
}
|
||||||
parentPrim.HasGroupChanged = true;
|
parentPrim.HasGroupChanged = true;
|
||||||
//parentPrim.ScheduleGroupForFullUpdate();
|
//parentPrim.ScheduleGroupForFullUpdate();
|
||||||
//SYMMETRIC SYNC
|
//SYMMETRIC SYNCF
|
||||||
if (World.RegionSyncModule != null)
|
if (World.RegionSyncModule != null)
|
||||||
{
|
{
|
||||||
parts.Add(rootPart);
|
parts.Add(rootPart);
|
||||||
|
|
Loading…
Reference in New Issue