From bab719500ea5e1637bdeaf1ce2e8dd0a53cb43fa Mon Sep 17 00:00:00 2001 From: Evan Merlock Date: Wed, 2 Oct 2024 13:55:02 -0500 Subject: [PATCH] feat(visibility): expose message.Size, message.HeaderSize, and message.TotalSize --- message.go | 8 ++++---- message_test.go | 2 +- writer.go | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/message.go b/message.go index 0539e6038..b9b3fd2f7 100644 --- a/message.go +++ b/message.go @@ -45,19 +45,19 @@ func (msg Message) message(cw *crc32Writer) message { const timestampSize = 8 -func (msg *Message) size() int32 { +func (msg *Message) Size() int32 { return 4 + 1 + 1 + sizeofBytes(msg.Key) + sizeofBytes(msg.Value) + timestampSize } -func (msg *Message) headerSize() int { +func (msg *Message) HeaderSize() int { return varArrayLen(len(msg.Headers), func(i int) int { h := &msg.Headers[i] return varStringLen(h.Key) + varBytesLen(h.Value) }) } -func (msg *Message) totalSize() int32 { - return int32(msg.headerSize()) + msg.size() +func (msg *Message) TotalSize() int32 { + return int32(msg.HeaderSize()) + msg.Size() } type message struct { diff --git a/message_test.go b/message_test.go index 383cd2269..e4eac0eaa 100644 --- a/message_test.go +++ b/message_test.go @@ -686,7 +686,7 @@ func TestMessageSize(t *testing.T) { Time: randate(), } expSize := msg.message(nil).size() - gotSize := msg.size() + gotSize := msg.Size() if expSize != gotSize { t.Errorf("Expected size %d, but got size %d", expSize, gotSize) } diff --git a/writer.go b/writer.go index 3817bf538..0405f1187 100644 --- a/writer.go +++ b/writer.go @@ -624,7 +624,7 @@ func (w *Writer) WriteMessages(ctx context.Context, msgs ...Message) error { batchBytes := w.batchBytes() for i := range msgs { - n := int64(msgs[i].totalSize()) + n := int64(msgs[i].TotalSize()) if n > batchBytes { // This error is left for backward compatibility with historical // behavior, but it can yield O(N^2) behaviors. The expectations @@ -1219,7 +1219,7 @@ func newWriteBatch(now time.Time, timeout time.Duration) *writeBatch { } func (b *writeBatch) add(msg Message, maxSize int, maxBytes int64) bool { - bytes := int64(msg.totalSize()) + bytes := int64(msg.TotalSize()) if b.size > 0 && (b.bytes+bytes) > maxBytes { return false