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_;