core: Expose kMaxPreambleBytes from TracePacket
So that embedders can allocate a correctly sized buffer when stitching
all TracePacket slices together.
Change-Id: I6bb7ecf3b15223393af6d78a7d17580b23c88d25
diff --git a/include/perfetto/ext/tracing/core/trace_packet.h b/include/perfetto/ext/tracing/core/trace_packet.h
index d695165..452c5b3 100644
--- a/include/perfetto/ext/tracing/core/trace_packet.h
+++ b/include/perfetto/ext/tracing/core/trace_packet.h
@@ -46,6 +46,9 @@
// The field id of protos::Trace::packet, static_assert()-ed in the unittest.
static constexpr uint32_t kPacketFieldNumber = 1;
+ // Maximum size of the preamble returned by GetProtoPreamble().
+ static constexpr size_t kMaxPreambleBytes = 8;
+
TracePacket();
~TracePacket();
TracePacket(TracePacket&&) noexcept;
@@ -80,7 +83,7 @@
Slices slices_; // Not owned.
size_t size_ = 0; // SUM(slice.size for slice in slices_).
- char preamble_[8]; // Deliberately not initialized.
+ char preamble_[kMaxPreambleBytes]; // Deliberately not initialized.
// Remember to update the move operators and their unittest if adding new
// fields. ConsumerIPCClientImpl::OnReadBuffersResponse() relies on