YACLib
C++ library for concurrent tasks execution
|
#include <queue.hpp>
Public Member Functions | |
FiberQueue () noexcept=default | |
FiberQueue (FiberQueue &&other)=default | |
FiberQueue & | operator= (FiberQueue &&other) noexcept |
WaitStatus | Wait (NoTimeoutTag) |
template<typename Rep , typename Period > | |
WaitStatus | Wait (const std::chrono::duration< Rep, Period > &duration) |
template<typename Clock , typename Duration > | |
WaitStatus | Wait (const std::chrono::time_point< Clock, Duration > &time_point) |
void | NotifyAll () |
void | NotifyOne () |
bool | Empty () const noexcept |
~FiberQueue () | |
|
defaultnoexcept |
|
default |
yaclib::detail::fiber::FiberQueue::~FiberQueue | ( | ) |
Definition at line 29 of file queue.cpp.
References yaclib::detail::fiber::BiList::Empty(), and YACLIB_DEBUG.
|
noexcept |
Definition at line 39 of file queue.cpp.
References yaclib::detail::fiber::BiList::Empty().
Referenced by yaclib::detail::fiber::SharedMutex::unlock().
void yaclib::detail::fiber::FiberQueue::NotifyAll | ( | ) |
Definition at line 12 of file queue.cpp.
References yaclib::MakeContract().
Referenced by yaclib::detail::fiber::ConditionVariable::notify_all(), and yaclib::detail::fiber::SharedMutex::unlock().
void yaclib::detail::fiber::FiberQueue::NotifyOne | ( | ) |
Definition at line 21 of file queue.cpp.
References yaclib::detail::fiber::BiList::Empty(), and yaclib::detail::fiber::PollRandomElementFromList().
Referenced by yaclib::detail::fiber::ConditionVariable::notify_one(), yaclib::detail::fiber::Mutex::unlock(), yaclib::detail::fiber::SharedMutex::unlock(), and yaclib::detail::fiber::SharedMutex::unlock_shared().
|
noexcept |
Definition at line 33 of file queue.cpp.
References yaclib::MakeContract().
|
inline |
Definition at line 23 of file queue.hpp.
References yaclib::detail::fiber::SystemClock::now(), and Wait().
|
inline |
Definition at line 28 of file queue.hpp.
References yaclib::fault::Scheduler::Current(), yaclib::fault::Scheduler::GetScheduler(), yaclib::MakeContract(), yaclib::detail::fiber::BiList::PushBack(), yaclib::detail::Ready, and yaclib::detail::Timeout.
WaitStatus yaclib::detail::fiber::FiberQueue::Wait | ( | NoTimeoutTag | ) |
Definition at line 5 of file queue.cpp.
References yaclib::fault::Scheduler::Current(), yaclib::detail::fiber::BiList::PushBack(), yaclib::detail::Ready, and yaclib::fault::Scheduler::Suspend().
Referenced by yaclib::detail::fiber::Mutex::lock(), yaclib::detail::fiber::RecursiveMutex::lock(), yaclib::detail::fiber::SharedMutex::lock_shared(), and Wait().