CSharpRTMP.Core.Protocols.Rtmp.SO.Track C# (CSharp) Method

Track() public method

public Track ( ) : void
return void
        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)