|
DeterministicESPAsyncWebServer v6.27.1
Zero-allocation, bounded-execution async HTTP server for ESP32
|
Multi-source time fallback matrix - implementation. More...
Go to the source code of this file.
Functions | |
| bool | detws_time_source_add (const char *, uint8_t, TimeSourceFn) |
| Register a time source. | |
| uint32_t | detws_time_now (void) |
| Current best time. | |
| const char * | detws_time_source_active (void) |
| Name of the source that satisfied the last detws_time_now(), or nullptr. | |
| void | detws_time_source_reset (void) |
| Clear all registered sources. | |
| size_t | detws_time_http_date (char *out, size_t out_cap) |
The current best time (detws_time_now, any registered NTP / GPS / RTC / ... source) formatted as an RFC 7231 IMF-fixdate into out. | |
Multi-source time fallback matrix - implementation.
A fixed BSS table of sources queried in ascending priority. See time_source.h.
Definition in file time_source.cpp.
| bool detws_time_source_add | ( | const char * | name, |
| uint8_t | priority, | ||
| TimeSourceFn | fn | ||
| ) |
Register a time source.
| name | stable label (referenced by pointer; must outlive the source - point it at a string literal / static, like the rest of the lib). |
| priority | lower value = higher priority (queried first). |
| fn | the source callback. |
fn is null or the table is full. Definition at line 101 of file time_source.cpp.
| uint32_t detws_time_now | ( | void | ) |
Current best time.
Queries registered sources in ascending priority and returns the first nonzero epoch (stopping at the first valid source). Returns 0 if none have valid time.
Definition at line 105 of file time_source.cpp.
Referenced by detws_time_http_date().
| const char * detws_time_source_active | ( | void | ) |
Name of the source that satisfied the last detws_time_now(), or nullptr.
Definition at line 109 of file time_source.cpp.
| void detws_time_source_reset | ( | void | ) |
Clear all registered sources.
Definition at line 113 of file time_source.cpp.
| size_t detws_time_http_date | ( | char * | out, |
| size_t | out_cap | ||
| ) |
The current best time (detws_time_now, any registered NTP / GPS / RTC / ... source) formatted as an RFC 7231 IMF-fixdate into out.
out when no source currently has a valid time.This is what lets the HTTP Date: header be fed by whatever time source is enabled, not just NTP: register RTC / GPS / NTP via detws_time_source_add() and the header follows the priority.
Definition at line 122 of file time_source.cpp.
References detws_http_date(), and detws_time_now().