Exemple #1
0
        /// <summary>
        /// Flush the current buffer to the stream
        /// </summary>
        public void Flush()
        {
            lock (_packets)
            {
                if (_currPos > 0)
                {
                    LogPacket[] arr = _packets;

                    if (_currPos < MAX_PACKETS)
                    {
                        arr = new LogPacket[_currPos];
                        Array.Copy(_packets, 0, arr, 0, _currPos);
                    }

                    GeneralUtils.SerializeLogPackets(arr, _stm);

                    Array.Clear(_packets, 0, _packets.Length);
                    _currPos = 0;
                }
            }
        }
Exemple #2
0
        public static void SavePackets(string filename, IEnumerable ps)
        {
            List <LogPacket> packets = new List <LogPacket>();

            foreach (object o in ps)
            {
                LogPacket p = o as LogPacket;
                if (p == null)
                {
                    DataFrame f = o as DataFrame;
                    if (f == null)
                    {
                        continue;
                    }
                    p = new LogPacket("Unknown", Guid.Empty, "Unknown", f, ColorValue.White);
                }
                packets.Add(p);
            }

            using (FileStream stm = File.Open(filename, FileMode.Create))
            {
                GeneralUtils.SerializeLogPackets(packets.ToArray(), stm);
            }
        }