private static void MakeFile(string source, string dest, CtpCompressionMode mode, EncodingMethod encoding) { using (var fs = new FileStream(source, FileMode.Open)) using (var fs2 = new FileStream(dest, FileMode.Create)) using (var ctp = new SttpFileReader(fs, false)) using (var ctp2 = new SttpFileWriter(fs2, false, mode, encoding)) { while (true) { switch (ctp.Next()) { case FileReaderItem.ProducerMetadata: var md = ctp.GetMetadata(); ctp2.ProducerMetadata(md); break; case FileReaderItem.DataPoint: var dp = new SttpDataPoint(); while (ctp.ReadDataPoint(dp)) { ctp2.AddDataPoint(dp); } break; case FileReaderItem.EndOfStream: return; default: throw new ArgumentOutOfRangeException(); } } } }
public CtpFileStream(Stream stream, CtpCompressionMode mode, bool ownsStream) { m_write = new CtpWriteEncoder(mode, WriteInternal); m_readDecoder = new CtpReadDecoder(); m_stream = stream; m_ownsStream = ownsStream; m_tempBuffer = new byte[3000]; }
public SttpFileWriter(Stream stream, bool ownsStream, CtpCompressionMode mode, EncodingMethod encoding) { m_stream = new CtpFileStream(stream, mode, ownsStream); if (encoding == EncodingMethod.Normal) { m_encoder = new NormalEncoder(); } m_encoder.Clear(); }
private void BenchmarkFile(string source, string dest, CtpCompressionMode mode, EncodingMethod encoding) { string newFileName = Path.ChangeExtension(source, ".txt"); //using (var raw = new StreamWriter(newFileName, false)) using (var fs = new FileStream(source, FileMode.Open)) using (var fs2 = new FileStream(dest, FileMode.Create)) using (var ctp = new SttpFileReader(fs, false)) using (var ctp2 = new SttpFileWriter(fs2, false, mode, encoding)) { while (true) { switch (ctp.Next()) { case FileReaderItem.ProducerMetadata: var md = ctp.GetMetadata(); ctp2.ProducerMetadata(md); break; case FileReaderItem.DataPoint: var dp = new SttpDataPoint(); while (ctp.ReadDataPoint(dp)) { //if (dp.Value.AsSingle > 3000000) //{ // dp.Value = dp.Value; //} //if (dp.Metadata.DataPointID.AsString.EndsWith(":DFreq0")) //{ // dp.Value = new CtpNumeric((long)(dp.Value.AsSingle * 100), 2); //} //Names.Add(dp.Metadata.DataPointID.AsString); //raw.WriteLine(dp.ToString()); PointCount++; //dp.Value = (double)dp.Value; //dp.Value = (long)dp.Value*1000; ctp2.AddDataPoint(dp); } break; case FileReaderItem.EndOfStream: return; default: throw new ArgumentOutOfRangeException(); } } } }
public CtpWriteEncoder(CtpCompressionMode mode, Func <PooledBuffer, ManualResetEventSlim> send) { m_knownSchemas = new Dictionary <int, int>(); m_compressionMode = mode; m_send = send; }