3#include <userver/engine/deadline.hpp>
4#include <userver/engine/single_use_event.hpp>
14 virtual void Notify(
bool ok)
noexcept = 0;
21class AsyncMethodInvocation :
public EventBase {
23 virtual ~AsyncMethodInvocation();
27 void* GetTag()
noexcept;
30 void Notify(
bool ok)
noexcept override;
32 bool IsBusy()
const noexcept;
34 enum class WaitStatus {
45 [[nodiscard]] WaitStatus Wait()
noexcept;
50 [[nodiscard]] WaitStatus WaitUntil(engine::Deadline deadline)
noexcept;
54 [[nodiscard]]
bool IsReady()
const noexcept;
58 engine::impl::ContextAccessor* TryGetContextAccessor()
noexcept;
66 engine::SingleUseEvent event_;