public BufSlice(BufBlock block, int offset, int total) { this.block = block; this.Offset = offset; this.Total = total; Reset(); }
public IBufSlice Alloc(int size) { for (int i = 0; i < this.blocks.Count; ++i) { BufSlice bytes = this.blocks[i].Capture(size); if (bytes != null) { return(bytes); } } var block = new BufBlock(this, Math.Max(GetProperSize(size), MIN_BUFFER_SIZE)); this.blocks.Add(block); return(block.Capture(size)); }