added some option handling functions
This commit is contained in:
22
haza.go
22
haza.go
@ -81,19 +81,19 @@ func Ntoh32(v uint32) uint32 {
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------
|
||||
type ByteReader struct {
|
||||
type NetByteReader struct {
|
||||
r *bytes.Reader
|
||||
}
|
||||
|
||||
func NewByteReader(b []byte) *ByteReader {
|
||||
return &ByteReader{ r: bytes.NewReader(b) }
|
||||
func NewNetByteReader(b []byte) *NetByteReader {
|
||||
return &NetByteReader{ r: bytes.NewReader(b) }
|
||||
}
|
||||
|
||||
func (br* ByteReader) ReadByte() (byte, error) {
|
||||
func (br* NetByteReader) ReadByte() (byte, error) {
|
||||
return br.r.ReadByte()
|
||||
}
|
||||
|
||||
func (br* ByteReader) ReadUint16() (uint16, error) {
|
||||
func (br* NetByteReader) ReadUint16() (uint16, error) {
|
||||
var v uint16
|
||||
var err error
|
||||
err = binary.Read(br.r, binary.BigEndian, &v)
|
||||
@ -101,7 +101,7 @@ func (br* ByteReader) ReadUint16() (uint16, error) {
|
||||
return v, nil
|
||||
}
|
||||
|
||||
func (br* ByteReader) ReadUint32() (uint32, error) {
|
||||
func (br* NetByteReader) ReadUint32() (uint32, error) {
|
||||
var v uint32
|
||||
var err error
|
||||
err = binary.Read(br.r, binary.BigEndian, &v)
|
||||
@ -109,7 +109,7 @@ func (br* ByteReader) ReadUint32() (uint32, error) {
|
||||
return v, nil
|
||||
}
|
||||
|
||||
func (br* ByteReader) ReadIp4() (net.IP, error) {
|
||||
func (br* NetByteReader) ReadIp4() (net.IP, error) {
|
||||
var buf [4]byte
|
||||
var err error
|
||||
_, err = io.ReadFull(br.r, buf[:])
|
||||
@ -117,8 +117,14 @@ func (br* ByteReader) ReadIp4() (net.IP, error) {
|
||||
return net.IP(buf[:]), nil
|
||||
}
|
||||
|
||||
func (br *ByteReader) ReadAllBytes(buf []byte) error {
|
||||
func (br *NetByteReader) ReadBytesFull(buf []byte) error {
|
||||
var err error
|
||||
_, err = io.ReadFull(br.r, buf)
|
||||
return err
|
||||
}
|
||||
|
||||
func (br *NetByteReader) ReadBytesAtLeast(buf []byte, len int) error {
|
||||
var err error
|
||||
_, err = io.ReadAtLeast(br.r, buf, len)
|
||||
return err
|
||||
}
|
||||
|
Reference in New Issue
Block a user