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().