pw_chrono_stl is a collection of pw_chrono backends that are implemented using STL’s std::chrono library.


This module is still under construction, the API is not yet stable.

SystemClock backend#

The STL based pw_chrono_stl:system_clock backend target implements the pw_chrono:system_clock facade by using the std::chrono::steady_clock. Note that the std::chrono::system_clock cannot be used as this is not always a monotonic clock source.

See the documentation for pw_chrono for further details.

SystemTimer backend#

The STL based pw_chrono_stl:system_timer backend target implements the pw_chrono:system_timer facade by spawning a detached thread for every single InvokeAt() and InvokeAfter() call. This thread simply sleeps until the desired expiration_deadline and invokes the user’s ExpiryCallback if it wasn’t cancelled.


Although fully functional, the current implementation is NOT efficient!

See the documentation for pw_chrono for further details.

Build targets#

The GN build for pw_chrono_stl has one target: system_clock. The system_clock target provides the pw_chrono_backend/system_clock_config.h and pw_chrono_backend/system_clock_inline.h headers and the backend for the pw_chrono:system_clock.