Flush up to N messages from queue (bounded flush)
- Parameters
-
| maxMessages | Maximum number of messages to process |
- Returns
- Number of messages actually flushed
Definition at line 122 of file async_logger.cpp.hpp.
122 {
123 fl::size flushed = 0;
124 const char* msg;
125 fl::u16 len;
126
127
128
129 char buffer[256];
130
131 while (flushed < maxMessages &&
mQueue.tryPop(&msg, &len)) {
133
134
136 fl::u16 chunk_size =
min(len -
offset,
static_cast<fl::u16
>(
sizeof(buffer) - 1));
138 buffer[chunk_size] = '\0';
139
141
143
145 } else {
146
148 }
149 }
150
152 flushed++;
153 }
154
155 return flushed;
156}
AsyncLogQueue< 128, 4096 > mQueue
fl::UISlider offset("Offset", 0.0f, 0.0f, 1.0f, 0.01f)
void print(const char *str) FL_NO_EXCEPT
FL_DISABLE_WARNING_PUSH U constexpr common_type_t< T, U > min(T a, U b) FL_NO_EXCEPT
FASTLED_FORCE_INLINE void * memcpy(void *dest, const void *src, size_t n) FL_NO_EXCEPT
void println(const char *str) FL_NO_EXCEPT
References fl::FL_NO_EXCEPT, fl::memcpy(), fl::min(), mQueue, offset(), fl::print(), and fl::println().
Referenced by ~AsyncLogger(), fl::async_log_service(), and fl::detail::AsyncLoggerServiceTask::serviceLoggers().