diff --git a/net/packet/builder.go b/net/packet/builder.go new file mode 100644 index 0000000..57d767c --- /dev/null +++ b/net/packet/builder.go @@ -0,0 +1,17 @@ +package packet + +import "bytes" + +type Builder struct { + buf bytes.Buffer +} + +func (p *Builder) WriteField(fields ...FieldEncoder) { + for _, f := range fields { + p.buf.Write(f.Encode()) + } +} + +func (p *Builder) Packet(id int32) Packet { + return Packet{ID: id, Data: p.buf.Bytes()} +}