mirror of
https://github.com/fluencelabs/tendermint
synced 2025-04-26 07:12:16 +00:00
Changed modulename_ to short module names Also removed Unreader, replaced with PrefixdReader in select locations
25 lines
424 B
Go
25 lines
424 B
Go
package common
|
|
|
|
import (
|
|
"io"
|
|
)
|
|
|
|
type PrefixedReader struct {
|
|
Prefix []byte
|
|
reader io.Reader
|
|
}
|
|
|
|
func NewPrefixedReader(prefix []byte, reader io.Reader) *PrefixedReader {
|
|
return &PrefixedReader{prefix, reader}
|
|
}
|
|
|
|
func (pr *PrefixedReader) Read(p []byte) (n int, err error) {
|
|
if len(pr.Prefix) > 0 {
|
|
read := copy(p, pr.Prefix)
|
|
pr.Prefix = pr.Prefix[read:]
|
|
return read, nil
|
|
} else {
|
|
return pr.reader.Read(p)
|
|
}
|
|
}
|