package autonatv2

import (
	

	
)

// msgReader reads a varint prefixed message from R without any buffering
type msgReader struct {
	R   io.Reader
	Buf []byte
}

func ( *msgReader) () (byte, error) {
	 := .Buf[:1]
	,  := .R.Read()
	return [0], 
}

func ( *msgReader) () ([]byte, error) {
	,  := varint.ReadUvarint()
	if  != nil {
		return nil, 
	}
	if  > uint64(len(.Buf)) {
		return nil, io.ErrShortBuffer
	}
	 := 0
	for  < int() {
		,  := .R.Read(.Buf[:])
		if  != nil {
			return nil, 
		}
		 += 
	}
	return .Buf[:], nil
}