Exemple #1
0
        public byte[] GetEncodedKeyFrame(ushort sequenceNumber)
        {
            KeyFrame key = GetKeyFrame(sequenceNumber);

            using (MemoryStream outputStream = new MemoryStream())
            {
                key.Encode(outputStream);
                return(outputStream.ToArray());
            }
        }
        public override byte[] GetEncodedKeyFrame()
        {
            FileInfo assetInfo = GetFileInfo();
            KeyFrame key       = new KeyFrame();

            key.ConfigurationVersion = m_MetaFrame.ConfigurationVersion;
            key.NetworkMessageHeader = new NetworkMessageHeader
            {
                PublisherID     = new String(m_PublisherID),
                VersionAndFlags = 0xD1,
                ExtendedFlags1  = new ExtendedFlags1
                {
                    RawValue = 0x04
                }
            };
            key.Flags1.RawValue = 0x6B;
            byte[] content = GetContent();
            key.Items = new List <DataPointValue>
            {
                new File
                {
                    Path     = new String(assetInfo.FullName),
                    Content  = content,
                    Time     = assetInfo.LastWriteTimeUtc.ToFileTimeUtc(),
                    FileType = new String("asset")
                }
            };
            key.MetaFrame     = m_MetaFrame;
            key.PayloadHeader = new DataSetPayloadHeader
            {
                Count           = 1,
                DataSetWriterID = new ushort[] { 2000 }
            };

            //key.FieldCount = (ushort)key.Items.Count;
            byte[] result = null;
            using (MemoryStream outputStream = new MemoryStream())
            {
                key.Encode(outputStream);
                result = outputStream.ToArray();
            }
            return(result);
        }