util: add 'constructors' for BinReader/BinWriter

And an additional BufBinWriter to ease buffer management.
This commit is contained in:
Roman Khimov 2019-09-15 14:58:19 +03:00
parent 0838948540
commit aacf58c9ab
31 changed files with 138 additions and 95 deletions

View file

@ -20,7 +20,7 @@ const (
// DecodeBinary implements the Payload interface.
func (p *Headers) DecodeBinary(r io.Reader) error {
br := util.BinReader{R: r}
br := util.NewBinReaderFromIO(r)
lenHeaders := br.ReadVarUint()
if br.Err != nil {
return br.Err
@ -46,7 +46,7 @@ func (p *Headers) DecodeBinary(r io.Reader) error {
// EncodeBinary implements the Payload interface.
func (p *Headers) EncodeBinary(w io.Writer) error {
bw := util.BinWriter{W: w}
bw := util.NewBinWriterFromIO(w)
bw.WriteVarUint(uint64(len(p.Hdrs)))
if bw.Err != nil {
return bw.Err