public void RegisterUserStream(RefID user_id, string name) { Tuple <BitBinaryWriterX, BitBinaryReaderX> streams = RegisterStream(user_id.ToString() + "_" + name); BitBinaryWriterX bitBinaryWriter = streams.Item1; BitBinaryReaderX bitBinaryReader = streams.Item2; if (bitBinaryWriter != null) { output_writers[user_id] = bitBinaryWriter; } if (bitBinaryReader != null) { output_readers[user_id] = bitBinaryReader; } }
public Tuple <BitBinaryWriterX, BitBinaryReaderX> RegisterStream(string name) { BitWriterStream bitWriterStream = null; BitReaderStream bitReaderStream = null; BitBinaryWriterX bitBinaryWriter = null; BitBinaryReaderX bitBinaryReader = null; if (this.source_type == Source.FILE) { if (output_fss_base.ContainsKey(name)) { throw new Exception("output_fss already contains the key when RegisterStream in BinaryDataRecorder"); } output_fss_base[name] = new FileStream(saving_folder + "/" + name + ".dat", FileMode.Create, FileAccess.ReadWrite); bitWriterStream = new BitWriterStream(output_fss_base[name]); bitBinaryWriter = new BitBinaryWriterX(bitWriterStream); if (output_writers_base.ContainsKey(name)) { throw new Exception("output_writers already contains the key when RegisterStream in BinaryDataRecorder"); } output_writers_base[name] = bitBinaryWriter; } if (this.source_type == Source.STREAM) { MemoryStream memory_stream = new MemoryStream(); bitWriterStream = new BitWriterStream(memory_stream); bitReaderStream = new BitReaderStream(memory_stream); bitBinaryWriter = new BitBinaryWriterX(bitWriterStream); bitBinaryReader = new BitBinaryReaderX(bitReaderStream); if (output_writers_base.ContainsKey(name)) { throw new Exception("output_writers already contains the key when RegisterStream in BinaryDataRecorder"); } output_writers_base[name] = bitBinaryWriter; if (output_readers_base.ContainsKey(name)) { throw new Exception("output_readers already contains the key when RegisterStream in BinaryDataRecorder"); } output_readers_base[name] = bitBinaryReader; } return(new Tuple <BitBinaryWriterX, BitBinaryReaderX>(bitBinaryWriter, bitBinaryReader)); }