remove NewMultiBufferCap

pull/1435/head
Darien Raymond 2018-11-16 11:29:16 +01:00
parent 2364f5f280
commit 48cac1733f
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169
7 changed files with 12 additions and 17 deletions

View File

@ -10,7 +10,7 @@ import (
// ReadAllToMultiBuffer reads all content from the reader into a MultiBuffer, until EOF. // ReadAllToMultiBuffer reads all content from the reader into a MultiBuffer, until EOF.
func ReadAllToMultiBuffer(reader io.Reader) (MultiBuffer, error) { func ReadAllToMultiBuffer(reader io.Reader) (MultiBuffer, error) {
mb := NewMultiBufferCap(128) mb := make(MultiBuffer, 0, 128)
if _, err := mb.ReadFrom(reader); err != nil { if _, err := mb.ReadFrom(reader); err != nil {
mb.Release() mb.Release()
@ -38,11 +38,6 @@ func ReadAllToBytes(reader io.Reader) ([]byte, error) {
// MultiBuffer is a list of Buffers. The order of Buffer matters. // MultiBuffer is a list of Buffers. The order of Buffer matters.
type MultiBuffer []*Buffer type MultiBuffer []*Buffer
// NewMultiBufferCap creates a new MultiBuffer instance.
func NewMultiBufferCap(capacity int32) MultiBuffer {
return MultiBuffer(make([]*Buffer, 0, capacity))
}
// Append appends buffer to the end of this MultiBuffer // Append appends buffer to the end of this MultiBuffer
func (mb *MultiBuffer) Append(buf *Buffer) { func (mb *MultiBuffer) Append(buf *Buffer) {
if buf != nil { if buf != nil {
@ -159,13 +154,13 @@ func (mb *MultiBuffer) WriteMultiBuffer(b MultiBuffer) error {
} }
// Len returns the total number of bytes in the MultiBuffer. // Len returns the total number of bytes in the MultiBuffer.
func (mb *MultiBuffer) Len() int32 { func (mb MultiBuffer) Len() int32 {
if mb == nil { if mb == nil {
return 0 return 0
} }
size := int32(0) size := int32(0)
for _, b := range *mb { for _, b := range mb {
size += b.Len() size += b.Len()
} }
return size return size
@ -200,7 +195,7 @@ func (mb MultiBuffer) String() string {
// SliceBySize splits the beginning of this MultiBuffer into another one, for at most size bytes. // SliceBySize splits the beginning of this MultiBuffer into another one, for at most size bytes.
func (mb *MultiBuffer) SliceBySize(size int32) MultiBuffer { func (mb *MultiBuffer) SliceBySize(size int32) MultiBuffer {
slice := NewMultiBufferCap(10) slice := make(MultiBuffer, 0, 10)
sliceSize := int32(0) sliceSize := int32(0)
endIndex := len(*mb) endIndex := len(*mb)
for i, b := range *mb { for i, b := range *mb {

View File

@ -139,5 +139,5 @@ func (r *SingleReader) ReadMultiBuffer() (MultiBuffer, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
return NewMultiBufferValue(b), nil return MultiBuffer{b}, nil
} }

View File

@ -200,7 +200,7 @@ func (r *AuthenticationReader) readInternal(soft bool, mb *buf.MultiBuffer) erro
func (r *AuthenticationReader) ReadMultiBuffer() (buf.MultiBuffer, error) { func (r *AuthenticationReader) ReadMultiBuffer() (buf.MultiBuffer, error) {
const readSize = 16 const readSize = 16
mb := buf.NewMultiBufferCap(readSize) mb := make(buf.MultiBuffer, 0, readSize)
if err := r.readInternal(false, &mb); err != nil { if err := r.readInternal(false, &mb); err != nil {
mb.Release() mb.Release()
return nil, err return nil, err
@ -277,7 +277,7 @@ func (w *AuthenticationWriter) writeStream(mb buf.MultiBuffer) error {
} }
payloadSize := buf.Size - int32(w.auth.Overhead()) - w.sizeParser.SizeBytes() - maxPadding payloadSize := buf.Size - int32(w.auth.Overhead()) - w.sizeParser.SizeBytes() - maxPadding
mb2Write := buf.NewMultiBufferCap(int32(len(mb) + 10)) mb2Write := make(buf.MultiBuffer, 0, len(mb)+10)
for { for {
b := buf.New() b := buf.New()
@ -301,7 +301,7 @@ func (w *AuthenticationWriter) writeStream(mb buf.MultiBuffer) error {
func (w *AuthenticationWriter) writePacket(mb buf.MultiBuffer) error { func (w *AuthenticationWriter) writePacket(mb buf.MultiBuffer) error {
defer mb.Release() defer mb.Release()
mb2Write := buf.NewMultiBufferCap(int32(len(mb)) + 1) mb2Write := make(buf.MultiBuffer, 0, len(mb)+1)
for _, b := range mb { for _, b := range mb {
if b.IsEmpty() { if b.IsEmpty() {

View File

@ -140,7 +140,7 @@ func NewChunkStreamWriter(sizeEncoder ChunkSizeEncoder, writer io.Writer) *Chunk
func (w *ChunkStreamWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { func (w *ChunkStreamWriter) WriteMultiBuffer(mb buf.MultiBuffer) error {
const sliceSize = 8192 const sliceSize = 8192
mbLen := mb.Len() mbLen := mb.Len()
mb2Write := buf.NewMultiBufferCap(mbLen/buf.Size + mbLen/sliceSize + 2) mb2Write := make(buf.MultiBuffer, 0, mbLen/buf.Size+mbLen/sliceSize+2)
for { for {
slice := mb.SliceBySize(sliceSize) slice := mb.SliceBySize(sliceSize)

View File

@ -70,7 +70,7 @@ func writeMetaWithFrame(writer buf.Writer, meta FrameMetadata, data buf.MultiBuf
return err return err
} }
mb2 := buf.NewMultiBufferCap(int32(len(data)) + 1) mb2 := make(buf.MultiBuffer, 0, len(data)+1)
mb2.Append(frame) mb2.Append(frame)
mb2.AppendMulti(data) mb2.AppendMulti(data)
return writer.WriteMultiBuffer(mb2) return writer.WriteMultiBuffer(mb2)

View File

@ -99,7 +99,7 @@ func (c *connection) Write(b []byte) (int, error) {
} }
l := len(b) l := len(b)
mb := buf.NewMultiBufferCap(int32(l)/buf.Size + 1) mb := make(buf.MultiBuffer, 0, l/buf.Size+1)
common.Must2(mb.Write(b)) common.Must2(mb.Write(b))
return l, c.writer.WriteMultiBuffer(mb) return l, c.writer.WriteMultiBuffer(mb)
} }

View File

@ -186,7 +186,7 @@ func (w *ReceivingWorker) ReadMultiBuffer() buf.MultiBuffer {
return mb return mb
} }
mb := buf.NewMultiBufferCap(32) mb := make(buf.MultiBuffer, 0, 32)
w.Lock() w.Lock()
defer w.Unlock() defer w.Unlock()