added some option handling functions

This commit is contained in:
2025-09-26 19:58:22 +09:00
parent 90365bfdd4
commit 6ce8f1a5fe
5 changed files with 473 additions and 84 deletions

22
haza.go
View File

@ -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
}