|
|
@@ -25,6 +25,7 @@ func (this *ChainWriter) Write(payload []byte) (int, error) {
|
|
|
return 0, io.ErrClosedPipe
|
|
|
}
|
|
|
|
|
|
+ bytesWritten := 0
|
|
|
size := len(payload)
|
|
|
for size > 0 {
|
|
|
buffer := alloc.NewBuffer().Clear()
|
|
|
@@ -32,17 +33,19 @@ func (this *ChainWriter) Write(payload []byte) (int, error) {
|
|
|
buffer.Append(payload[:alloc.BufferSize])
|
|
|
size -= alloc.BufferSize
|
|
|
payload = payload[alloc.BufferSize:]
|
|
|
+ bytesWritten += alloc.BufferSize
|
|
|
} else {
|
|
|
buffer.Append(payload)
|
|
|
+ bytesWritten += size
|
|
|
size = 0
|
|
|
}
|
|
|
err := this.writer.Write(buffer)
|
|
|
if err != nil {
|
|
|
- return 0, err
|
|
|
+ return bytesWritten, err
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return size, nil
|
|
|
+ return bytesWritten, nil
|
|
|
}
|
|
|
|
|
|
func (this *ChainWriter) Release() {
|