Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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));
        }