public SerialDataBuffer Flip() { _bufferMode = DataBufferMode.Read; _stream.SetLength(_stream.Position); _stream.Position = 0; return(this); }
public SerialDataBuffer Compact() { _bufferMode = DataBufferMode.Write; var newStream = new MemoryStream(_stream.Capacity); _stream.CopyTo(newStream); _stream = newStream; return(this); }
public DataBuffer(byte[] buffer, DataBufferMode mode) { if (buffer == null) { throw new ArgumentNullException("buffer"); } this.buffer = buffer; this.offset = 0; this.mode = mode; }
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; }
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); }
public SerialDataBuffer Clear() { _bufferMode = DataBufferMode.Write; _stream.Position = 0; return(this); }