mirror of
https://github.com/pgsty/minio.git
synced 2026-07-21 05:00:22 +03:00
Encoder now directly reads from the object stream. Using split.Stream() was causing lot of redundant memory operations.
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
package donut
|
||||
|
||||
import (
|
||||
"io"
|
||||
"strconv"
|
||||
|
||||
encoding "github.com/minio/minio/pkg/erasure"
|
||||
@@ -86,6 +87,14 @@ func (e encoder) Encode(data []byte) (encodedData [][]byte, err error) {
|
||||
return encodedData, nil
|
||||
}
|
||||
|
||||
func (e encoder) EncodeStream(data io.Reader, size int64) (encodedData [][]byte, inputData []byte, err error) {
|
||||
encodedData, inputData, err = e.encoder.EncodeStream(data, size)
|
||||
if err != nil {
|
||||
return nil, nil, iodine.New(err, nil)
|
||||
}
|
||||
return encodedData, inputData, nil
|
||||
}
|
||||
|
||||
// Decode - erasure decode input encoded bytes
|
||||
func (e encoder) Decode(encodedData [][]byte, dataLength int) (data []byte, err error) {
|
||||
decodedData, err := e.encoder.Decode(encodedData, dataLength)
|
||||
|
||||
Reference in New Issue
Block a user