A better SDK with more features and more consistency

This commit is contained in:
2026-09-15 13:19:48 +01:00
parent 047deb65e7
commit a7fbf74f0a
10 changed files with 583 additions and 65 deletions
+43
View File
@@ -0,0 +1,43 @@
package bngsdk
import (
"io"
"unsafe"
)
type GobReader struct {
TotalRead int64
File io.ReadSeeker
Buf []byte
}
func OgBinReader(r io.ReadSeeker) *GobReader {
return &GobReader{
TotalRead: 0,
File: r,
Buf: make([]byte, unsafe.Sizeof(Outgauge{})),
}
}
func (g *GobReader) Reset() error {
_, err := g.File.Seek(0, io.SeekStart)
if err != nil {
return err
}
g.TotalRead = 0
return nil
}
func (g *GobReader) Next(buffer []byte) (int, error) {
nBytes, err := io.ReadFull(g.File, buffer)
if err != nil {
return 0, err
}
pos, _ := g.File.Seek(0, io.SeekCurrent)
g.TotalRead = pos
return nBytes, nil
}