8#ifdef USE_ESPHOME_TASK_LOG_BUFFER
55 inline const char *
text_data()
const {
return reinterpret_cast<const char *
>(
this) +
sizeof(
LogMessage); }
74 const char *format, va_list args);
78 inline bool HOT
has_messages()
const {
return this->message_count_ != 0; }
81 inline size_t size()
const {
return this->size_; }
85 static inline size_t message_total_size(
size_t text_length) {
return sizeof(LogMessage) + text_length + 1; }
88 size_t available_contiguous_space()
const;
90 uint8_t *storage_{
nullptr};
95 SemaphoreHandle_t mutex_{
nullptr};
96 volatile uint16_t message_count_{0};
97 size_t current_message_size_{0};
void release_message_main_loop()
TaskLogBuffer(size_t total_buffer_size)
bool borrow_message_main_loop(LogMessage *&message, uint16_t &text_length)
bool send_message_thread_safe(uint8_t level, const char *tag, uint16_t line, const char *thread_name, const char *format, va_list args)
bool HOT has_messages() const
static constexpr uint8_t PADDING_MARKER_LEVEL
const char * text_data() const