.. _module-pw_async_basic: ================ pw_async_basic ================ This module includes basic implementations of pw_async's Dispatcher and FakeDispatcher. --- API --- .. doxygenclass:: pw::async::BasicDispatcher :members: ----- Usage ----- First, set the following GN variables: .. code-block:: pw_async_TASK_BACKEND="$dir_pw_async_basic:task" pw_async_FAKE_DISPATCHER_BACKEND="$dir_pw_async_basic:fake_dispatcher" Next, create a target that depends on ``//pw_async_basic:dispatcher``: .. code-block:: pw_executable("hello_world") { sources = [ "hello_world.cc" ] deps = [ "//pw_async_basic:dispatcher", ] } Next, construct and use a ``BasicDispatcher``. .. code-block:: cpp #include "pw_async_basic/dispatcher.h" void DelayedPrint(pw::async::Dispatcher& dispatcher) { dispatcher.PostAfter([](auto&){ printf("hello world\n"); }, 5s); } int main() { pw::async::BasicDispatcher dispatcher; DelayedPrint(dispatcher); dispatcher.RunFor(10s); return 0; } ----------- Size Report ----------- .. include:: docs_size_report