Example #1
0
 public SerialDataBuffer Flip()
 {
     _bufferMode = DataBufferMode.Read;
     _stream.SetLength(_stream.Position);
     _stream.Position = 0;
     return(this);
 }
Example #2
0
        public SerialDataBuffer Compact()
        {
            _bufferMode = DataBufferMode.Write;
            var newStream = new MemoryStream(_stream.Capacity);

            _stream.CopyTo(newStream);
            _stream = newStream;
            return(this);
        }
Example #3
0
        public DataBuffer(byte[] buffer, DataBufferMode mode)
        {
            if (buffer == null)
            {
                throw new ArgumentNullException("buffer");
            }

            this.buffer = buffer;
            this.offset = 0;
            this.mode   = mode;
        }
Example #4
0
        public DataBuffer(int capacity, DataBufferMode mode)
        {
            if (capacity < 0)
            {
                throw new ArgumentOutOfRangeException("capacity", "Initial capacity cannot be negative");
            }

            this.buffer = new byte[capacity];
            this.offset = 0;
            this.mode   = mode;
        }
Example #5
0
        public DataBuffer(byte[] buffer, int offset, int count, DataBufferMode mode)
        {
            if (buffer == null)
            {
                throw new ArgumentNullException("buffer");
            }
            if (offset < 0 || offset > buffer.Length)
            {
                throw new ArgumentOutOfRangeException("offset");
            }
            if (offset + count > buffer.Length)
            {
                throw new ArgumentOutOfRangeException("count");
            }

            this.buffer = new byte[count];
            this.offset = 0;
            this.mode   = mode;

            Buffer.BlockCopy(buffer, offset, this.buffer, 0, count);
        }
Example #6
0
 public SerialDataBuffer Clear()
 {
     _bufferMode      = DataBufferMode.Write;
     _stream.Position = 0;
     return(this);
 }