public void Track()
{
foreach (var dirty in _dirtyPropsByProtocol.Where(x=>x.Value.Count>0))
{
var pTo = dirty.Key;
var primitives = ToPrimitives(dirty.Value);
//var message = SOMessageFactory.GetSharedObject(3, 0, 0, false, Name, Version, IsPersistent);
//message[Defines.RM_SHAREDOBJECT, Defines.RM_SHAREDOBJECT_PRIMITIVES] = new Variant(primitives.ToList());
if (pTo != null)
{
if (pTo is BaseClusterProtocol)
(pTo as BaseClusterProtocol).SharedObjectTrack(Application, Name, Version, IsPersistent, primitives);
else
pTo.Application.SharedObjectTrack(pTo, Name, Version, IsPersistent,primitives);
}
//if (pTo != null && !pTo.SendMessage(message, true))
//{
// pTo.EnqueueForDelete();
//}
dirty.Value.Clear();
}
//foreach (var dirtyProps in _dirtyPropsByProtocol)
//{
// dirtyProps.Value.Clear();
//}
if (IsPersistent && _versionIncremented)
{
Payload.SerializeToFile(_filePath);
}
_versionIncremented = false;
}
public void Send(Variant primitive,BaseProtocol from)