|
YACLib
C++ library for concurrent tasks execution
|
Classes | |
| struct | Allocation |
| class | Atomic |
| class | Atomic< U * > |
| class | AtomicBase |
| class | AtomicFlag |
| class | AtomicFloatingBase |
| class | AtomicFloatingBase< T, true > |
| class | AtomicIntegralBase |
| class | AtomicIntegralBase< T, true > |
| class | AtomicWait |
| class | BiList |
| class | BiNodeScheduler |
| class | BiNodeWaitQueue |
| class | ConditionVariable |
| class | DefaultAllocator |
| Allocator used by default. More... | |
| class | ExecutionContext |
| class | Fiber |
| class | FiberBase |
| class | FiberQueue |
| class | IStackAllocator |
| Passed to coroutine/fiber constructor, specifies the way in which memory for Stack is Allocated and Released. More... | |
| class | Mutex |
| struct | Node |
| struct | NoTimeoutTag |
| class | RecursiveMutex |
| class | RecursiveTimedMutex |
| class | SharedMutex |
| class | SharedTimedMutex |
| class | Stack |
| Manages stack memory. More... | |
| struct | SystemClock |
| class | Thread |
| class | ThreadLocalPtrProxy |
| class | TimedMutex |
Typedefs | |
| using | Trampoline = void(*)(void *arg) |
| template<typename... Args> | |
| using | FuncState = std::tuple< typename std::decay_t< Args >... > |
Enumerations | |
| enum | FiberState { Running , Suspended , Waiting , Completed } |
Variables | |
| static FiberBase::Id | sNextId = 1 |
| static DefaultAllocator | sAllocator |
| static std::uint32_t | sRandomListPick = 10 |
| static unsigned int | gHardwareConcurrency {0} |
| using yaclib::detail::fiber::FuncState = typedef std::tuple<typename std::decay_t<Args>...> |
Definition at line 14 of file execution_context.hpp.
| Enumerator | |
|---|---|
| Running | |
| Suspended | |
| Waiting | |
| Completed | |
Definition at line 20 of file fiber_base.hpp.
| void * yaclib::detail::fiber::GetImpl | ( | std::uint64_t | i | ) |
Definition at line 14 of file thread_local_proxy.cpp.
References yaclib::fault::Scheduler::Current(), GetMap(), yaclib::MakeContract(), and YACLIB_ASSERT.
Referenced by yaclib::detail::fiber::ThreadLocalPtrProxy< Type >::Get(), yaclib::detail::fiber::ThreadLocalPtrProxy< Type >::operator=(), yaclib::detail::fiber::ThreadLocalPtrProxy< Type >::operator=(), yaclib::detail::fiber::ThreadLocalPtrProxy< Type >::ThreadLocalPtrProxy(), and yaclib::detail::fiber::ThreadLocalPtrProxy< Type >::ThreadLocalPtrProxy().
Definition at line 9 of file thread_local_proxy.cpp.
References yaclib::MakeContract().
Referenced by GetImpl(), and SetDefault().
|
inlinenoexcept |
Definition at line 98 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 133 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 108 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 138 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 118 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 143 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 153 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 173 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 178 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 158 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 198 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 203 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 223 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 228 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 208 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 93 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 123 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 103 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 128 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 113 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 148 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 163 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 183 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 188 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 168 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 193 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 213 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 233 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 238 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
|
inlinenoexcept |
Definition at line 218 of file thread_local_proxy.hpp.
References yaclib::MakeContract().
Definition at line 147 of file scheduler.cpp.
References yaclib::detail::GetRandNumber(), yaclib::MakeContract(), and sRandomListPick.
Referenced by yaclib::detail::fiber::FiberQueue::NotifyOne().
Definition at line 7 of file wakeup_helper.cpp.
References yaclib::fault::Scheduler::GetScheduler(), and yaclib::fault::Scheduler::Schedule().
Referenced by yaclib::detail::fiber::FiberBase::Exit().
Definition at line 20 of file thread_local_proxy.cpp.
References yaclib::fault::Scheduler::Current(), yaclib::MakeContract(), and YACLIB_ASSERT.
Referenced by yaclib::detail::fiber::ThreadLocalPtrProxy< Type >::operator=().
Definition at line 26 of file thread_local_proxy.cpp.
References GetMap(), and yaclib::MakeContract().
Referenced by yaclib::detail::fiber::ThreadLocalPtrProxy< Type >::operator=(), yaclib::detail::fiber::ThreadLocalPtrProxy< Type >::operator=(), yaclib::detail::fiber::ThreadLocalPtrProxy< Type >::ThreadLocalPtrProxy(), yaclib::detail::fiber::ThreadLocalPtrProxy< Type >::ThreadLocalPtrProxy(), and yaclib::detail::fiber::ThreadLocalPtrProxy< Type >::ThreadLocalPtrProxy().
|
noexcept |
Definition at line 143 of file scheduler.cpp.
References yaclib::MakeContract(), and sRandomListPick.
Referenced by yaclib::fiber::SetFaultRandomListPick().
Definition at line 10 of file thread.cpp.
Referenced by yaclib::detail::fiber::Thread::hardware_concurrency(), and yaclib::detail::fiber::Thread::SetHardwareConcurrency().
|
static |
Definition at line 10 of file fiber_base.cpp.
Referenced by yaclib::detail::fiber::FiberBase::GetAllocator().
|
static |
Definition at line 8 of file fiber_base.cpp.
|
static |
Definition at line 141 of file scheduler.cpp.
Referenced by PollRandomElementFromList(), and SetRandomListPick().