MCPcopy Create free account
hub / github.com/FastLED/FastLED / commit

Method commit

src/fl/log/async_log_queue.cpp.hpp:71–93  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

69
70template <fl::size DescriptorCount, fl::size ArenaSize>
71void AsyncLogQueue<DescriptorCount, ArenaSize>::commit() {
72 fl::u32 tail = mTail;
73 const Descriptor& desc = mDescriptors[tail];
74
75 // Free arena space by advancing arena tail
76 fl::u32 newArenaTail = (mArenaTail + desc.mLength) & (ArenaSize - 1);
77
78 {
79 fl::isr::critical_section cs; // Protect arena tail update
80 mArenaTail = newArenaTail;
81 }
82
83 // Clear descriptor (optional, for debugging/sentinel semantics)
84 mDescriptors[tail] = Descriptor();
85
86 // Advance tail (consumer publishes completion)
87 fl::u32 newTail = (tail + 1) & (DescriptorCount - 1);
88
89 {
90 fl::isr::critical_section cs; // Protect tail update
91 mTail = newTail;
92 }
93}
94
95template <fl::size DescriptorCount, fl::size ArenaSize>
96fl::u32 AsyncLogQueue<DescriptorCount, ArenaSize>::droppedCount() const {

Callers 15

flushMethod · 0.80
clearMethod · 0.80
flushNMethod · 0.80
_init_dbMethod · 0.80
insertMethod · 0.80
delete_by_idMethod · 0.80
delete_by_nameMethod · 0.80
_init_dbMethod · 0.80
try_acquireMethod · 0.80
releaseMethod · 0.80

Calls 1

DescriptorClass · 0.85