From 05e8da2ff48524cb9dd8ccd402edea0ddf4f85c0 Mon Sep 17 00:00:00 2001 From: adman Date: Sun, 10 May 2026 20:35:49 +0200 Subject: [PATCH] add packet id lookup and write to replay writer --- proto/replay/writer.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/proto/replay/writer.go b/proto/replay/writer.go index 805ddd5..21a8928 100644 --- a/proto/replay/writer.go +++ b/proto/replay/writer.go @@ -5,6 +5,7 @@ import ( "encoding/binary" "io" + "github.com/admin-else/strom/proto" "github.com/admin-else/strom/proto_base" ) @@ -13,7 +14,7 @@ type Writer struct { } func NewWriter(w io.Writer) *Writer { - return &Writer{w} + return &Writer{w: w} } func (w *Writer) WriteRaw(p []byte, timestamp uint32) (err error) { @@ -31,6 +32,17 @@ func (w *Writer) WriteRaw(p []byte, timestamp uint32) (err error) { func (w *Writer) WritePacket(packet proto_base.EncodeDecodeAble, timestamp uint32) (err error) { b := bytes.NewBuffer(nil) + + info, ok := proto.LookupPacketInfoByType(packet) + if !ok { + return proto.BadPacketIdErr + } + + err = proto_base.EncodeVarInt(b, info.PacketId) + if err != nil { + return + } + err = packet.Encode(b) if err != nil { return