update 1.19.2 bot, chat support
This commit is contained in:
@ -17,12 +17,12 @@ type Packet struct {
|
||||
}
|
||||
|
||||
// Marshal generate Packet with the ID and Fields
|
||||
func Marshal(id int32, fields ...FieldEncoder) (pk Packet) {
|
||||
func Marshal[ID ~int32 | int](id ID, fields ...FieldEncoder) (pk Packet) {
|
||||
var pb Builder
|
||||
for _, v := range fields {
|
||||
pb.WriteField(v)
|
||||
}
|
||||
return pb.Packet(id)
|
||||
return pb.Packet(int32(id))
|
||||
}
|
||||
|
||||
// Scan decode the packet and fill data into fields
|
||||
|
@ -2,6 +2,7 @@ package packet
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"reflect"
|
||||
)
|
||||
@ -130,10 +131,10 @@ func (t Tuple) WriteTo(w io.Writer) (n int64, err error) {
|
||||
|
||||
// ReadFrom read Tuple from io.Reader, panic when any of field don't implement FieldDecoder
|
||||
func (t Tuple) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
for _, v := range t {
|
||||
for i, v := range t {
|
||||
nn, err := v.(FieldDecoder).ReadFrom(r)
|
||||
if err != nil {
|
||||
return n, err
|
||||
return n, fmt.Errorf("decode tuple[%d] error: %w", i, err)
|
||||
}
|
||||
n += nn
|
||||
}
|
||||
|
Reference in New Issue
Block a user