README
¶
binary
Сериализация примитивных типов в набор байтов для последующей отправки по сети.
Модуль, необходимый для работы с бинарными протоколами движков GreenWix
Установка
go get github.com/GreenWix/binary
Примеры
package main
import "github.com/GreenWix/binary"
func main(){
// int + byte + byte array
w := binary.AcquireWriter(4 + 1 + 5)
w.WriteSignedInt32(5835)
w.WriteByte(124)
w.WriteByteArray(4, []byte{ 0xAA, 0xBB, 0xCC, 0xDD })
sendToServer(w.Buffer())
binary.ReleaseWriter(w)
}
func sendToServer(buf []byte){
// ...code
}
package main
import "github.com/GreenWix/binary"
func main(){
r := binary.AcquireReader(getBytesFromServer())
someInt, err := r.ReadSignedInt32()
checkErr(err)
someByte, err := r.ReadByte()
checkErr(err)
someByteArrayLen, someByteArray, err := r.ReadByteArray()
checkErr(err)
doSomething(someInt, someByte, someByteArrayLen, someByteArray)
binary.ReleaseReader(r)
}
func checkErr(err error){
// ...code
}
func getBytesFromServer() ([]byte, int){
return []byte{ 0x11, 0x22, 0x33, 0x44, 0x55, 0x04, 0x77, 0x88, 0x99, 0xAA }, 10
}
func doSomething(someInt int32, someByte byte, someByteArrayLen byte, someByteArray []byte){
// ...code
}
Documentation
¶
Index ¶
- func ReleaseReader(r *Reader)
- func ReleaseWriter(w *Writer)
- type Reader
- func (r *Reader) Buffer() []byte
- func (r *Reader) Read(n int) ([]byte, error)
- func (r *Reader) ReadByte() (num byte, err error)
- func (r *Reader) ReadByteArray() (n byte, ar []byte, err error)
- func (r *Reader) ReadNumber(n int) (num int64, err error)
- func (r *Reader) ReadSignedInt32() (num int32, err error)
- func (r *Reader) ReadSignedLong() (num int64, err error)
- func (r *Reader) ReadSignedShort() (num int16, err error)
- func (r *Reader) ReadUnsignedInt32() (num uint32, err error)
- func (r *Reader) ReadUnsignedLong() (num uint64, err error)
- func (r *Reader) ReadUnsignedShort() (num uint16, err error)
- func (r *Reader) Remaining() []byte
- func (r *Reader) RemainingAmount() int
- func (r *Reader) Size() int
- type Writer
- func (w *Writer) Buffer() []byte
- func (w *Writer) Write(n int, p []byte)
- func (w *Writer) WriteByte(number byte)
- func (w *Writer) WriteByteArray(n int, p []byte)
- func (w *Writer) WriteNumber(num int64, n int) error
- func (w *Writer) WriteSignedInt32(number int32)
- func (w *Writer) WriteSignedLong(number int64)
- func (w *Writer) WriteSignedShort(number int16)
- func (w *Writer) WriteUnsignedInt32(number uint32)
- func (w *Writer) WriteUnsignedLong(number uint64)
- func (w *Writer) WriteUnsignedShort(number uint16)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ReleaseReader ¶
func ReleaseReader(r *Reader)
func ReleaseWriter ¶
func ReleaseWriter(w *Writer)
Types ¶
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
func AcquireReader ¶
func (*Reader) ReadSignedInt32 ¶
func (*Reader) ReadSignedLong ¶
func (*Reader) ReadSignedShort ¶
func (*Reader) ReadUnsignedInt32 ¶
func (*Reader) ReadUnsignedLong ¶
func (*Reader) ReadUnsignedShort ¶
func (*Reader) RemainingAmount ¶
type Writer ¶
type Writer struct {
// contains filtered or unexported fields
}
func AcquireWriter ¶
func (*Writer) WriteByte ¶
Данная структура не является io.ByteWriter!!! noinspection GoStandardMethods
func (*Writer) WriteByteArray ¶
func (*Writer) WriteSignedInt32 ¶
func (*Writer) WriteSignedLong ¶
func (*Writer) WriteSignedShort ¶
func (*Writer) WriteUnsignedInt32 ¶
func (*Writer) WriteUnsignedLong ¶
func (*Writer) WriteUnsignedShort ¶
Click to show internal directories.
Click to hide internal directories.