|
|
@@ -29,7 +29,6 @@ type Reader interface {
|
|
|
type AdaptiveReader struct {
|
|
|
reader io.Reader
|
|
|
allocate func() *alloc.Buffer
|
|
|
- isLarge bool
|
|
|
}
|
|
|
|
|
|
// NewAdaptiveReader creates a new AdaptiveReader.
|
|
|
@@ -38,7 +37,6 @@ func NewAdaptiveReader(reader io.Reader) *AdaptiveReader {
|
|
|
return &AdaptiveReader{
|
|
|
reader: reader,
|
|
|
allocate: alloc.NewBuffer,
|
|
|
- isLarge: false,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -46,12 +44,10 @@ func NewAdaptiveReader(reader io.Reader) *AdaptiveReader {
|
|
|
func (this *AdaptiveReader) Read() (*alloc.Buffer, error) {
|
|
|
buffer, err := ReadFrom(this.reader, this.allocate())
|
|
|
|
|
|
- if buffer.IsFull() && !this.isLarge {
|
|
|
+ if buffer.Len() >= alloc.BufferSize {
|
|
|
this.allocate = alloc.NewLargeBuffer
|
|
|
- this.isLarge = true
|
|
|
- } else if !buffer.IsFull() {
|
|
|
+ } else {
|
|
|
this.allocate = alloc.NewBuffer
|
|
|
- this.isLarge = false
|
|
|
}
|
|
|
|
|
|
if err != nil {
|