added WriteVarInt64 ReadVarInt64
This commit is contained in:
@@ -917,7 +917,24 @@ func GetBool(a []byte) (bool, error) {
|
||||
}
|
||||
}
|
||||
|
||||
// VAR
|
||||
func WriteBool(w io.Writer, flag bool) (err error) {
|
||||
var b byte
|
||||
if flag {
|
||||
b = 1
|
||||
}
|
||||
_, err = w.Write([]byte{b})
|
||||
return
|
||||
}
|
||||
|
||||
func ReadBool(src io.Reader) (bool, error) {
|
||||
b, err := ReadByte(src)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return b == 1, nil
|
||||
}
|
||||
|
||||
// WRITE & READ VAR INT/UINT
|
||||
|
||||
// WriteVarUint32 - записывает в Writer от 1 до 5 байт, возвращает количество
|
||||
// записанных байт. Порядок байт - от младшего к старшему. Значение последнего
|
||||
@@ -940,7 +957,7 @@ func WriteVarUint32(w io.Writer, num uint32) (i int) {
|
||||
// ReadVarUint32 - читает из io.Reader от 1 до 5 байт, и декодирует их в uint32.
|
||||
func ReadVarUint32(src io.Reader) (num uint32, err error) {
|
||||
var b byte
|
||||
for i := 0; i < 5; i++ {
|
||||
for i := range 5 {
|
||||
b, err = ReadByte(src)
|
||||
if err != nil {
|
||||
return
|
||||
@@ -997,21 +1014,16 @@ func ReadVarUint64(src io.Reader) (num uint64, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func WriteBool(w io.Writer, flag bool) (err error) {
|
||||
var b byte
|
||||
if flag {
|
||||
b = 1
|
||||
}
|
||||
_, err = w.Write([]byte{b})
|
||||
return
|
||||
func WriteVarInt64(w io.Writer, num int64) (int, error) {
|
||||
return WriteVarUint64(w, EncodeZigZag(num))
|
||||
}
|
||||
|
||||
func ReadBool(src io.Reader) (bool, error) {
|
||||
b, err := ReadByte(src)
|
||||
func ReadVarInt64(r io.Reader) (int64, error) {
|
||||
u64, err := ReadVarUint64(r)
|
||||
if err != nil {
|
||||
return false, err
|
||||
return 0, err
|
||||
}
|
||||
return b == 1, nil
|
||||
return DecodeZigZag(u64), nil
|
||||
}
|
||||
|
||||
// READ/WRITE VAR SIZE
|
||||
|
||||
Reference in New Issue
Block a user