rts-sim-testing-service/util/myreader/reader.go

43 lines
570 B
Go

package myreader
import "bytes"
type Reader struct {
r *bytes.Reader
Err error
}
func NewReader(b []byte) *Reader {
return &Reader{r: bytes.NewReader(b)}
}
func (r *Reader) ReadByte() byte {
if r.Err != nil {
return 0
}
b, err := r.r.ReadByte()
r.Err = err
return b
}
func (r *Reader) Read(b []byte) (n int) {
if r.Err != nil {
return 0
}
n, r.Err = r.r.Read(b)
return n
}
func (r *Reader) ReadBytes(n int) []byte {
if r.Err != nil {
return nil
}
b := make([]byte, n)
r.Read(b)
return b
}
func (r *Reader) Len() int {
return r.r.Len()
}