1*61c4878aSAndroid Build Coastguard Worker.. _module-pw_async2-reference: 2*61c4878aSAndroid Build Coastguard Worker 3*61c4878aSAndroid Build Coastguard Worker========= 4*61c4878aSAndroid Build Coastguard WorkerReference 5*61c4878aSAndroid Build Coastguard Worker========= 6*61c4878aSAndroid Build Coastguard Worker.. pigweed-module-subpage:: 7*61c4878aSAndroid Build Coastguard Worker :name: pw_async2 8*61c4878aSAndroid Build Coastguard Worker 9*61c4878aSAndroid Build Coastguard Worker.. _module-pw_async2-reference-cpp: 10*61c4878aSAndroid Build Coastguard Worker 11*61c4878aSAndroid Build Coastguard Worker----------------- 12*61c4878aSAndroid Build Coastguard WorkerC++ API reference 13*61c4878aSAndroid Build Coastguard Worker----------------- 14*61c4878aSAndroid Build Coastguard Worker.. TODO: https://pwbug.dev/376082608 - Remove ``:private-members:``. 15*61c4878aSAndroid Build Coastguard Worker 16*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::Task 17*61c4878aSAndroid Build Coastguard Worker :members: 18*61c4878aSAndroid Build Coastguard Worker :private-members: 19*61c4878aSAndroid Build Coastguard Worker 20*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::Poll 21*61c4878aSAndroid Build Coastguard Worker :members: 22*61c4878aSAndroid Build Coastguard Worker 23*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::async2::Ready() 24*61c4878aSAndroid Build Coastguard Worker 25*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::async2::Ready(std::in_place_t, Args&&... args) 26*61c4878aSAndroid Build Coastguard Worker 27*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::async2::Ready(T&& value) 28*61c4878aSAndroid Build Coastguard Worker 29*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::async2::Pending() 30*61c4878aSAndroid Build Coastguard Worker 31*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::Context 32*61c4878aSAndroid Build Coastguard Worker :members: 33*61c4878aSAndroid Build Coastguard Worker 34*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::Waker 35*61c4878aSAndroid Build Coastguard Worker :members: 36*61c4878aSAndroid Build Coastguard Worker 37*61c4878aSAndroid Build Coastguard Worker.. c:macro:: PW_ASYNC_STORE_WAKER 38*61c4878aSAndroid Build Coastguard Worker 39*61c4878aSAndroid Build Coastguard Worker Arguments: ``Context& cx, Waker& waker_out, StringLiteral wait_reason_string`` 40*61c4878aSAndroid Build Coastguard Worker 41*61c4878aSAndroid Build Coastguard Worker Stores a waker associated with the current context in ``waker_out``. 42*61c4878aSAndroid Build Coastguard Worker When ``waker_out`` is later awoken with :cpp:func:`pw::async2::Waker::Wake`, 43*61c4878aSAndroid Build Coastguard Worker the :cpp:class:`pw::async2::Task` associated with ``cx`` will be awoken and 44*61c4878aSAndroid Build Coastguard Worker its ``DoPend`` method will be invoked again. 45*61c4878aSAndroid Build Coastguard Worker 46*61c4878aSAndroid Build Coastguard Worker.. c:macro:: PW_ASYNC_CLONE_WAKER 47*61c4878aSAndroid Build Coastguard Worker 48*61c4878aSAndroid Build Coastguard Worker Arguments: ``Waker& waker_in, Waker& waker_out, StringLiteral wait_reason_string`` 49*61c4878aSAndroid Build Coastguard Worker 50*61c4878aSAndroid Build Coastguard Worker Stores a waker associated with ``waker_in`` in ``waker_out``. 51*61c4878aSAndroid Build Coastguard Worker When ``waker_out`` is later awoken with :cpp:func:`pw::async2::Waker::Wake`, 52*61c4878aSAndroid Build Coastguard Worker the :cpp:class:`pw::async2::Task` associated with ``waker_in`` will be awoken 53*61c4878aSAndroid Build Coastguard Worker and its ``DoPend`` method will be invoked again. 54*61c4878aSAndroid Build Coastguard Worker 55*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::Dispatcher 56*61c4878aSAndroid Build Coastguard Worker :members: 57*61c4878aSAndroid Build Coastguard Worker 58*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::Coro 59*61c4878aSAndroid Build Coastguard Worker :members: 60*61c4878aSAndroid Build Coastguard Worker 61*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::CoroContext 62*61c4878aSAndroid Build Coastguard Worker :members: 63*61c4878aSAndroid Build Coastguard Worker 64*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::TimeProvider 65*61c4878aSAndroid Build Coastguard Worker :members: 66*61c4878aSAndroid Build Coastguard Worker 67*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::async2::GetSystemTimeProvider 68*61c4878aSAndroid Build Coastguard Worker 69*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::SimulatedTimeProvider 70*61c4878aSAndroid Build Coastguard Worker :members: 71*61c4878aSAndroid Build Coastguard Worker 72*61c4878aSAndroid Build Coastguard Worker.. _module-pw_async2-reference-cpp-utilities: 73*61c4878aSAndroid Build Coastguard Worker 74*61c4878aSAndroid Build Coastguard WorkerUtilities 75*61c4878aSAndroid Build Coastguard Worker========= 76*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::async2::EnqueueHeapFunc 77*61c4878aSAndroid Build Coastguard Worker 78*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::async2::AllocateTask(pw::allocator::Allocator& allocator, Pendable&& pendable) 79*61c4878aSAndroid Build Coastguard Worker 80*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::async2::AllocateTask(pw::allocator::Allocator& allocator, Args&&... args) 81*61c4878aSAndroid Build Coastguard Worker 82*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::CoroOrElseTask 83*61c4878aSAndroid Build Coastguard Worker :members: 84*61c4878aSAndroid Build Coastguard Worker 85*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::Join 86*61c4878aSAndroid Build Coastguard Worker :members: 87*61c4878aSAndroid Build Coastguard Worker 88*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::PendFuncTask 89*61c4878aSAndroid Build Coastguard Worker :members: 90*61c4878aSAndroid Build Coastguard Worker 91*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::PendableAsTask 92*61c4878aSAndroid Build Coastguard Worker :members: 93*61c4878aSAndroid Build Coastguard Worker 94*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::async2::MakeOnceSenderAndReceiver 95*61c4878aSAndroid Build Coastguard Worker 96*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::OnceSender 97*61c4878aSAndroid Build Coastguard Worker :members: 98*61c4878aSAndroid Build Coastguard Worker 99*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::OnceReceiver 100*61c4878aSAndroid Build Coastguard Worker :members: 101*61c4878aSAndroid Build Coastguard Worker 102*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::async2::MakeOnceRefSenderAndReceiver 103*61c4878aSAndroid Build Coastguard Worker 104*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::OnceRefSender 105*61c4878aSAndroid Build Coastguard Worker :members: 106*61c4878aSAndroid Build Coastguard Worker 107*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::async2::OnceRefReceiver 108*61c4878aSAndroid Build Coastguard Worker :members: 109