18#include "pw_bytes/span.h"
21#include "pw_status/status.h"
22#include "pw_trace_tokenized/config.h"
65 constexpr size_t EntryCount()
const {
return queue_.size(); }
75 constexpr void Clear() { queue_.clear(); }
79 return queue_.encoded_size_bytes();
83 friend class ::pw::trace::internal::TraceBufferImpl;
95TraceBuffer* GetBuffer();
101ConstByteSpan DeringAndViewRawBuffer();
107 size_t* bytes_read_out)
const {
108 if (queue_.empty()) {
111 auto entry = queue_.front();
112 size_t len = std::min(data.size(), entry.size());
120 *bytes_read_out = len;
125 if (queue_.empty()) {
Definition: inline_var_len_entry_queue.h:94
static constexpr Status OutOfRange()
Definition: status.h:267
static constexpr Status ResourceExhausted()
Definition: status.h:230
Definition: trace_buffer.h:40
constexpr void Clear()
Removes all data from the ring buffer.
Definition: trace_buffer.h:75
constexpr size_t TotalUsedBytes() const
Get the size in bytes of all the current entries in the ring buffer.
Definition: trace_buffer.h:78
constexpr Status PopFront()
Definition: trace_buffer.h:124
constexpr Status CheckForCorruption()
Definition: trace_buffer.h:72
constexpr size_t EntryCount() const
Get the number of variable-length entries currently in the ring buffer.
Definition: trace_buffer.h:65
constexpr Status PeekFront(ByteSpan data, size_t *bytes_read_out) const
Definition: trace_buffer.h:106
constexpr OutputIt copy(InputIt first, InputIt last, OutputIt d_first)
constexpr backport of <algorithm>'s std::copy for C++17.
Definition: algorithm.h:355
constexpr Status OkStatus()
Definition: status.h:450
The Pigweed namespace.
Definition: alignment.h:27