From d495ba9be7869352a454a193327f3276e129749f Mon Sep 17 00:00:00 2001 From: jdl Date: Mon, 6 Jan 2025 15:37:27 +0100 Subject: [PATCH] Added version and re-ordered header... Breaking change --- node/header.go | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/node/header.go b/node/header.go index 58ba852..9d0417a 100644 --- a/node/header.go +++ b/node/header.go @@ -13,23 +13,25 @@ const ( ) type header struct { + Version byte StreamID byte - Counter uint64 // Init with time.Now().Unix << 30 to ensure monotonic. SourceIP byte DestIP byte + Counter uint64 // Init with time.Now().Unix << 30 to ensure monotonic. } func (h *header) Parse(b []byte) { - h.StreamID = b[0] - h.Counter = *(*uint64)(unsafe.Pointer(&b[1])) - h.SourceIP = b[9] - h.DestIP = b[10] + h.Version = b[0] + h.StreamID = b[1] + h.SourceIP = b[2] + h.DestIP = b[3] + h.Counter = *(*uint64)(unsafe.Pointer(&b[4])) } func (h *header) Marshal(buf []byte) { - buf[0] = h.StreamID - *(*uint64)(unsafe.Pointer(&buf[1])) = h.Counter - buf[9] = h.SourceIP - buf[10] = h.DestIP - buf[11] = 0 + buf[0] = h.Version + buf[1] = h.StreamID + buf[2] = h.SourceIP + buf[3] = h.DestIP + *(*uint64)(unsafe.Pointer(&buf[4])) = h.Counter }