Lumiera
0.pre.03
»edit your freedom«
|
Definition at line 90 of file scheduler-commutator-test.cpp.
Private Types | |
using | Launch = ThreadHookable::Launch |
Private Member Functions | |
void | blockGroomingToken (SchedulerCommutator &sched) |
void | demonstrateSimpleUsage () |
void | integratedWorkCycle () |
virtual void | run (Arg) |
void | torture_GroomingToken () |
void | unblockGroomingToken () |
void | verify_dispatch () |
void | verify_findWork () |
void | verify_GroomingGuard () |
void | verify_GroomingToken () |
void | verify_postChain () |
void | verify_Significance () |
Static Private Member Functions | |
static void | ___ensureGroomingTokenReleased (SchedulerCommutator &sched) |
Private Attributes | |
unique_ptr< ThreadHookable > | groomingHog_ |
atomic_bool | stopTheHog_ {false} |
Additional Inherited Members | |
Public Member Functions inherited from Test | |
virtual void | run (Arg arg)=0 |
|
inlineprivate |
Definition at line 111 of file scheduler-commutator-test.cpp.
References ActivityMatch::arg(), ActivityLang::dispatchChain(), SchedulerCommutator::findWork(), and SchedulerInvocation::instruct().
|
inlineprivate |
Definition at line 142 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::___ensureGroomingTokenReleased(), SchedulerCommutator::acquireGoomingToken(), SchedulerCommutator::dropGroomingToken(), and SchedulerCommutator::holdsGroomingToken().
|
inlinestaticprivate |
helper to ensure consistent Grooming-Token state
Definition at line 159 of file scheduler-commutator-test.cpp.
References SchedulerCommutator::acquireGoomingToken(), SchedulerCommutator::dropGroomingToken(), and SchedulerCommutator::holdsGroomingToken().
Referenced by SchedulerCommutator_test::integratedWorkCycle(), SchedulerCommutator_test::verify_GroomingGuard(), SchedulerCommutator_test::verify_GroomingToken(), and SchedulerCommutator_test::verify_postChain().
|
inlineprivate |
Definition at line 174 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::___ensureGroomingTokenReleased(), SchedulerCommutator::acquireGoomingToken(), SchedulerCommutator::dropGroomingToken(), SchedulerCommutator::holdsGroomingToken(), SchedulerCommutator::requireGroomingTokenHere(), and vault::gear::anonymous_namespace{scheduler-commutator.hpp}::thisThread().
|
inlineprivate |
Definition at line 207 of file scheduler-commutator-test.cpp.
References SchedulerCommutator::acquireGoomingToken(), and SchedulerCommutator::dropGroomingToken().
|
inlineprivate |
Helper to block the GroomingToken from another thread
Definition at line 248 of file scheduler-commutator-test.cpp.
References SchedulerCommutator::acquireGoomingToken(), ThreadWrapper::detach_thread_from_wrapper(), SchedulerCommutator::dropGroomingToken(), and SchedulerCommutator::holdsGroomingToken().
Referenced by SchedulerCommutator_test::verify_dispatch(), SchedulerCommutator_test::verify_findWork(), and SchedulerCommutator_test::verify_postChain().
|
inlineprivate |
stop the background thread to unblock the GrooingToken
Definition at line 274 of file scheduler-commutator-test.cpp.
Referenced by SchedulerCommutator_test::verify_dispatch(), SchedulerCommutator_test::verify_findWork(), and SchedulerCommutator_test::verify_postChain().
|
inlineprivate |
Definition at line 336 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::blockGroomingToken(), SchedulerCommutator::findWork(), SchedulerInvocation::headTime(), SchedulerInvocation::instruct(), and SchedulerCommutator_test::unblockGroomingToken().
|
inlineprivate |
Definition at line 400 of file scheduler-commutator-test.cpp.
References SchedulerInvocation::activate(), SchedulerInvocation::feedPrioritisation(), SchedulerCommutator::findWork(), SchedulerInvocation::headTime(), SchedulerInvocation::instruct(), SchedulerInvocation::isMissed(), SchedulerInvocation::isOutdated(), SchedulerInvocation::isOutOfTime(), and SchedulerInvocation::peekHead().
|
inlineprivate |
Definition at line 474 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::___ensureGroomingTokenReleased(), SchedulerCommutator::acquireGoomingToken(), SchedulerCommutator_test::blockGroomingToken(), ActivityDetector::buildActivationProbe(), SchedulerCommutator::dropGroomingToken(), SchedulerInvocation::feedPrioritisation(), SchedulerCommutator::findWork(), SchedulerInvocation::headTime(), SchedulerCommutator::holdsGroomingToken(), SchedulerInvocation::isDue(), SchedulerInvocation::peekHead(), SchedulerCommutator::postChain(), SchedulerInvocation::pullHead(), and SchedulerCommutator_test::unblockGroomingToken().
|
inlineprivate |
Definition at line 553 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::blockGroomingToken(), ActivityDetector::buildActivationProbe(), SchedulerCommutator::dispatchCapacity(), ActivityLang::dispatchChain(), SchedulerInvocation::feedPrioritisation(), SchedulerInvocation::headTime(), SchedulerCommutator::holdsGroomingToken(), SchedulerInvocation::instruct(), Time::NEVER, and SchedulerCommutator_test::unblockGroomingToken().
|
inlineprivate |
Definition at line 621 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::___ensureGroomingTokenReleased(), ActivityMatch::arg(), ActivityLang::dispatchChain(), SchedulerCommutator::dropGroomingToken(), SchedulerCommutator::findWork(), SchedulerCommutator::holdsGroomingToken(), ActivityDetector::incrementSeq(), Activity::next, and SchedulerCommutator::postChain().