13 : max_chunks_(max_chunks) {
32 TraceObject* trace_object = chunk->AddTraceEvent(&event_index);
39 size_t chunk_index, event_index;
41 ExtractHandle(handle, &chunk_index, &chunk_seq, &event_index);
42 if (chunk_index >=
chunks_.size())
return nullptr;
43 auto& chunk =
chunks_[chunk_index];
44 if (!chunk || chunk->seq() != chunk_seq)
return nullptr;
45 return chunk->GetEventAt(event_index);
54 for (
size_t j = 0; j < chunk->size(); ++j) {
69 size_t event_index)
const {
70 return static_cast<uint64_t
>(chunk_seq) *
Capacity() +
76 size_t* event_index)
const {
77 *chunk_seq =
static_cast<uint32_t
>(handle /
Capacity());
78 size_t indices = handle %
Capacity();
97 return &
chunk_[*event_index];