m3
m3 copied to clipboard
[m3msg] Use slice-backed buffers in messageWriter
What this PR does / why we need it:
Using multiple slices as a backing store allows us to keep the same semantics, have less pointer-chasing and reduced time in critical section, as we no longer have to hold a lock and prevent new writes into the queue while a scan is in progress, in exchange for occasional batch allocs and more copying. This change keeps the same semantics, prioritizing new writes.
Special notes for your reviewer:
Does this PR introduce a user-facing and/or backwards incompatible change?:
Does this PR require updating code package or user-facing documentation?: