Ejemplo n.º 1
0
        public FileReaderItem Next()
        {
TryAgain:
            m_nextPacket = m_stream.Read();
            if ((object)m_nextPacket == null)
            {
                return(FileReaderItem.EndOfStream);
            }

            if (m_nextPacket.CommandName == "DataStreamNormal")
            {
                if (m_decoderNormal == null)
                {
                    m_decoderNormal = new NormalDecoder();
                }
                m_decoderNormal.Load(((CommandDataStreamNormal)m_nextPacket));
                m_currentDecoder = m_decoderNormal;
                return(FileReaderItem.DataPoint);
            }
            else if (m_nextPacket.CommandName == "ProducerMetadata")
            {
                m_metadata = (SttpProducerMetadata)m_nextPacket;
                foreach (var item in m_metadata.DataPoints)
                {
                    m_metadataLookup[item.DataPointID] = item;
                }
                return(FileReaderItem.ProducerMetadata);
            }
            goto TryAgain;
        }
Ejemplo n.º 2
0
        private void ReadCtp(string fileName)
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("Command", typeof(string));
            dt.Columns.Add("Length", typeof(int));
            dt.Columns.Add("Record", typeof(string));

            using (var fs = new FileStream(fileName, FileMode.Open))
                using (var ctp = new CtpFileStream(fs, CtpCompressionMode.None, false))
                {
                    while (true)
                    {
                        var cmd = ctp.Read();
                        if ((object)cmd == null)
                        {
                            break;
                        }
                        dt.Rows.Add(cmd.CommandName, cmd.DataLength, cmd);
                    }
                }

            dataGridView1.DataSource = dt;
        }