|
@@ -31,6 +31,18 @@ func (mb *MultiBuffer) AppendMulti(buf MultiBuffer) {
|
|
|
*mb = append(*mb, buf...)
|
|
*mb = append(*mb, buf...)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func (mb MultiBuffer) Copy(b []byte) int {
|
|
|
|
|
+ total := 0
|
|
|
|
|
+ for _, bb := range mb {
|
|
|
|
|
+ nBytes := copy(b[total:], bb.Bytes())
|
|
|
|
|
+ total += nBytes
|
|
|
|
|
+ if nBytes < bb.Len() {
|
|
|
|
|
+ break
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return total
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func (mb *MultiBuffer) Read(b []byte) (int, error) {
|
|
func (mb *MultiBuffer) Read(b []byte) (int, error) {
|
|
|
endIndex := len(*mb)
|
|
endIndex := len(*mb)
|
|
|
totalBytes := 0
|
|
totalBytes := 0
|