18#include "pw_async2/context.h"
19#include "pw_async2/coro.h"
20#include "pw_async2/fallible_coro_task.h"
21#include "pw_function/function.h"
28class [[deprecated(
"Use CoroTask or FallibleCoroTask instead")]]
34 : coro_task_(std::in_place,
36 [this] { or_else_(Status::Internal()); }),
37 or_else_(std::move(or_else)) {}
39 ~CoroOrElseTask()
override { Deregister(); }
45 PW_ASSERT(!IsRegistered());
46 coro_task_.emplace(std::move(coro),
47 [
this] { or_else_(Status::Internal()); });
54 PW_ASSERT(!IsRegistered());
55 or_else_ = std::move(or_else);
61 std::optional<FallibleCoroTask<Status>> coro_task_;
Definition: coro_or_else_task.h:29
void SetErrorHandler(pw::Function< void(Status)> &&or_else)
Definition: coro_or_else_task.h:53
CoroOrElseTask(Coro< Status > &&coro, pw::Function< void(Status)> &&or_else)
Definition: coro_or_else_task.h:33
Poll DoPend(Context &cx) final
Definition: coro_or_else_task.h:59
void SetCoro(Coro< Status > &&coro)
Definition: coro_or_else_task.h:44
fit::function_impl< function_internal::config::kInlineCallableSize, !function_internal::config::kEnableDynamicAllocation, FunctionType, PW_FUNCTION_DEFAULT_ALLOCATOR_TYPE > Function
Definition: function.h:73