Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        public void InitHeadData(Dictionary <long, HisRunTag> mtags)
        {
            memory = new VarintCodeMemory(mtags.Count * 16);
            memory.WriteInt64(mtags.Count);
            var  vtags = mtags.ToArray();
            long prev  = mtags.First().Key;
            int  i     = 0;

            foreach (var vv in mtags)
            {
                if (i == 0)
                {
                    memory.WriteInt64(prev);
                }
                else
                {
                    memory.WriteInt64((vv.Key - prev));
                    prev = vv.Key;
                }
                i++;
            }

            prev = mtags.First().Value.TimerValueStartAddr;
            i    = 0;
            foreach (var vv in mtags)
            {
                if (i == 0)
                {
                    memory.WriteInt64(prev);
                }
                else
                {
                    memory.WriteInt64(vv.Value.TimerValueStartAddr - prev);
                    prev = vv.Value.TimerValueStartAddr;
                }
                i++;
            }
        }