1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2026-01-04 16:25:21 -05:00

simplify pool creation

This commit is contained in:
Darien Raymond
2018-03-12 16:21:39 +01:00
parent d1898b995f
commit 5bbece14af
4 changed files with 50 additions and 55 deletions

View File

@@ -19,15 +19,13 @@ func NewBytesToBufferReader(reader io.Reader) Reader {
}
}
const mediumSize = 8 * 1024
const largeSize = 64 * 1024
const xlSize = 128 * 1024
func (r *BytesToBufferReader) readSmall() (MultiBuffer, error) {
b := New()
err := b.Reset(ReadFrom(r.Reader))
if b.IsFull() {
r.buffer = NewBytes(mediumSize)
r.buffer = newBytes(Size + 1)
}
if !b.IsEmpty() {
return NewMultiBufferValue(b), nil
@@ -47,12 +45,12 @@ func (r *BytesToBufferReader) ReadMultiBuffer() (MultiBuffer, error) {
mb := NewMultiBufferCap(nBytes/Size + 1)
mb.Write(r.buffer[:nBytes])
if nBytes == len(r.buffer) && nBytes < xlSize {
FreeBytes(r.buffer)
r.buffer = NewBytes(uint32(nBytes) + 1)
freeBytes(r.buffer)
r.buffer = newBytes(uint32(nBytes) + 1)
}
return mb, nil
}
FreeBytes(r.buffer)
freeBytes(r.buffer)
r.buffer = nil
return nil, err
}