#include <activity.h>
Classes | |
union | PromiseHolder |
Public Types | |
using | Factory = PromiseFactory< void, F > |
using | ResultType = typename Factory::Promise::Result |
Public Member Functions | |
PromiseActivity (F promise_factory, WakeupScheduler wakeup_scheduler, OnDone on_done, Contexts &&... contexts) | |
void | RunScheduledWakeup () |
~PromiseActivity () override | |
![]() | |
void | ForceImmediateRepoll () final |
Waker | MakeNonOwningWaker () final |
Waker | MakeOwningWaker () final |
void | Orphan () final |
![]() | |
void | ForceWakeup () |
![]() | |
Orphanable & | operator= (const Orphanable &)=delete |
Orphanable (const Orphanable &)=delete | |
Private Types | |
using | Promise = typename Factory::Promise |
![]() | |
using | ContextType = Contexts |
Private Member Functions | |
GPR_NO_UNIQUE_ADDRESS bool done_ | ABSL_GUARDED_BY (mu()) |
GPR_NO_UNIQUE_ADDRESS PromiseHolder promise_holder_ | ABSL_GUARDED_BY (mu()) |
void | Cancel () final |
void | Drop () final |
void | MarkDone () ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu()) |
absl::optional< ResultType > | RunStep () ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu()) |
absl::optional< ResultType > | Start (Factory promise_factory) ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu()) |
void | Step () ABSL_LOCKS_EXCLUDED(mu()) |
absl::optional< ResultType > | StepLoop () ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu()) |
void | Wakeup () final |
![]() | |
ActivityContexts (Contexts &&... contexts) | |
![]() | |
ContextHolder (Contexts value) | |
Contexts * | GetContext () |
Private Attributes | |
GPR_NO_UNIQUE_ADDRESS OnDone | on_done_ |
GPR_NO_UNIQUE_ADDRESS std::atomic< bool > | wakeup_scheduled_ {false} |
GPR_NO_UNIQUE_ADDRESS WakeupScheduler | wakeup_scheduler_ |
Additional Inherited Members | |
![]() | |
static Activity * | current () |
![]() | |
enum | ActionDuringRun : uint8_t { ActionDuringRun::kNone, ActionDuringRun::kWakeup, ActionDuringRun::kCancel } |
![]() | |
ActionDuringRun | GotActionDuringRun () ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_) |
Mutex * | mu () ABSL_LOCK_RETURNED(mu_) |
void | SetActionDuringRun (ActionDuringRun action) ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_) |
void | WakeupComplete () |
~FreestandingActivity () override | |
![]() | |
bool | is_current () const |
![]() | |
Orphanable () | |
virtual | ~Orphanable () |
![]() | |
static bool | have_current () |
Definition at line 339 of file activity.h.
using grpc_core::promise_detail::PromiseActivity< F, WakeupScheduler, OnDone, Contexts >::Factory = PromiseFactory<void, F> |
Definition at line 342 of file activity.h.
|
private |
Definition at line 496 of file activity.h.
using grpc_core::promise_detail::PromiseActivity< F, WakeupScheduler, OnDone, Contexts >::ResultType = typename Factory::Promise::Result |
Definition at line 343 of file activity.h.
|
inline |
Definition at line 345 of file activity.h.
|
inlineoverride |
Definition at line 364 of file activity.h.
|
private |
|
private |
|
inlinefinalprivatevirtual |
Implements grpc_core::promise_detail::FreestandingActivity.
Definition at line 380 of file activity.h.
|
inlinefinalprivatevirtual |
Implements grpc_core::Wakeable.
Definition at line 423 of file activity.h.
|
inlineprivate |
Definition at line 427 of file activity.h.
|
inline |
Definition at line 371 of file activity.h.
|
inlineprivate |
Definition at line 453 of file activity.h.
|
inlineprivate |
Definition at line 462 of file activity.h.
|
inlineprivate |
Definition at line 435 of file activity.h.
|
inlineprivate |
Definition at line 472 of file activity.h.
|
inlinefinalprivatevirtual |
Implements grpc_core::Wakeable.
Definition at line 404 of file activity.h.
|
private |
Definition at line 500 of file activity.h.
|
private |
Definition at line 504 of file activity.h.
|
private |
Definition at line 498 of file activity.h.