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;
        }
        public void ProducerMetadata(SttpProducerMetadata metadata)
        {
            if (m_encoder.Length > 0)
            {
                m_stream.Write(m_encoder.ToArray());
                m_encoder.Clear();
            }

            m_stream.Write(metadata);
        }
示例#3
0
 internal void AssignProducer(SttpProducerMetadata producer)
 {
     Producer = producer;
 }
示例#4
0
 public SttpDataPointMetadata(SttpProducerMetadata producer)
 {
     Producer    = producer;
     Attributes  = new List <AttributeValues>();
     DataPointID = CtpObject.Null;
 }