package binary
|
|
|
|
import "io"
|
|
|
|
type Binary interface {
|
|
WriteTo(w io.Writer) (int64, error)
|
|
}
|
|
|
|
func WriteBinary(w io.Writer, b Binary, n *int64, err *error) {
|
|
if *err != nil {
|
|
return
|
|
}
|
|
n_, err_ := b.WriteTo(w)
|
|
*n += int64(n_)
|
|
*err = err_
|
|
}
|
|
|
|
// Write all of bz to w
|
|
// Increment n and set err accordingly.
|
|
func WriteTo(w io.Writer, bz []byte, n *int64, err *error) {
|
|
if *err != nil {
|
|
return
|
|
}
|
|
n_, err_ := w.Write(bz)
|
|
*n += int64(n_)
|
|
*err = err_
|
|
}
|
|
|
|
// Read len(buf) from r
|
|
// Increment n and set err accordingly.
|
|
func ReadFull(r io.Reader, buf []byte, n *int64, err *error) {
|
|
if *err != nil {
|
|
return
|
|
}
|
|
n_, err_ := io.ReadFull(r, buf)
|
|
*n += int64(n_)
|
|
*err = err_
|
|
}
|