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