|
Symbian platform (C++)
SDK native APIs, runtime and tooling
|
Namespaces | |
| namespace | internal |
Classes | |
| class | AlwaysSelectable |
| struct | Case |
| A Case represents a selectable case in a Select statement. More... | |
| class | Channel |
| A Channel is a bounded FIFO queue that allows multiple readers and writers to communicate with each other. More... | |
| class | CondVar |
| class | Fiber |
| class | Mutex |
| class | MutexLock |
| class | NonSelectable |
| class | PermanentEvent |
| class | Reader |
| A Reader is used to read items from a Channel. More... | |
| class | Scheduler |
| struct | SchedulerParkGuard |
| class | SchedulerPolicy |
| class | Writer |
| A Writer is used to write items to a Channel. More... | |
Typedefs | |
| using | CaseArray = absl::InlinedVector< Case, 4 > |
Functions | |
| bool | CanParkAwait () noexcept |
| void | SleepFor (absl::Duration duration) |
| void | FiberEntry () |
| bool | Cancelled () |
| Case | OnCancel () |
| int | SelectUntil (absl::Time deadline, const CaseArray &cases) |
| Returns the index of the first case that is ready, or -1 if the deadline has expired without any case becoming ready. | |
| int | Select (const CaseArray &cases) |
| Returns the index of the first case that is ready, blocking until one is. | |
| Case | NonSelectableCase () |
| Case | AlwaysSelectableCase () |
| void | SetSchedulerParkGuard (SchedulerParkGuard guard) |
| absl::Status | SetCurrentSchedulerPolicy (std::shared_ptr< SchedulerPolicy > policy) |
| void | Post (absl::AnyInvocable< void() && > work) |
| void | PostAt (absl::Time deadline, absl::AnyInvocable< void() && > work) |
| void | PostAfter (absl::Duration delay, absl::AnyInvocable< void() && > work) |
| internal::CaseStateArray | MakeShuffledCaseStateArray (size_t num_cases) |
| static void | InitRand32 () |
| uint32_t | Rand32 () |
Variables | |
| constexpr bool | kCanParkAwait = true |
| static std::atomic< uint32_t > | last_rand32 |
| static absl::once_flag | init_rand32_once |
| typedef absl::InlinedVector< Case, 4 > thread::CaseArray |
| Case thread::AlwaysSelectableCase | ( | ) |
| bool thread::Cancelled | ( | ) |
|
inlinenoexcept |
| void thread::FiberEntry | ( | ) |
|
static |
| internal::CaseStateArray thread::MakeShuffledCaseStateArray | ( | size_t | num_cases | ) |
| Case thread::NonSelectableCase | ( | ) |
| Case thread::OnCancel | ( | ) |
| void thread::Post | ( | absl::AnyInvocable< void() && > | work | ) |
|
inline |
| void thread::PostAt | ( | absl::Time | deadline, |
| absl::AnyInvocable< void() && > | work | ||
| ) |
| uint32_t thread::Rand32 | ( | ) |
|
inline |
Returns the index of the first case that is ready, blocking until one is.
This is equivalent to calling SelectUntil with an infinite deadline.
| cases | The array of cases to select from. Usually passed as an initializer list. |
| int thread::SelectUntil | ( | absl::Time | deadline, |
| const CaseArray & | cases | ||
| ) |
Returns the index of the first case that is ready, or -1 if the deadline has expired without any case becoming ready.
Example:
| deadline | The absolute time until which to wait for a case to become ready. |
| cases | The array of cases to select from. Usually passed as an initializer list. |
| absl::Status thread::SetCurrentSchedulerPolicy | ( | std::shared_ptr< SchedulerPolicy > | policy | ) |
| void thread::SetSchedulerParkGuard | ( | SchedulerParkGuard | guard | ) |
|
inline |
|
static |
|
inlineconstexpr |
|
static |