ProcDispatcher: mark some next tasks to care for

This commit is contained in:
Fischlurch 2016-12-16 23:26:56 +01:00
parent 53ed0e9aa3
commit b873f7025b
2 changed files with 36 additions and 1 deletions

View file

@ -21,6 +21,22 @@
* *****************************************************/
/** @file proc-dispatcher.cpp
** Implementation details of running commands and the builder.
** The ProcDispatcher is at the heart of the session subsystem and implements
** a (single) session thread to perform commands and trigger builder runs.
** New commands can be enqueued with a dedicated CommandQueue, while the details
** of operation control logic are encapsulated in a [logic component](\ref Looper).
**
** @todo as of 12/2016, implementation has been drafted and is very much WIP
** @todo //////////////////////////////////////////////////////TODO ensure really every state change triggers a wakeup!!!!!!!
**
** @see ProcDispatcher
** @see DispatcherLooper_test
** @see CommandQueue_test
**
*/
#include "lib/error.hpp"
#include "include/logging.h"
@ -108,12 +124,14 @@ namespace control {
/* === CommandDispatch interface === */
//////////////////////////////////////////TODO notify!!!! on!! every!! state!! changing!! operation!!
void
clear() override
{
Lock sync(this);
UNIMPLEMENTED ("clear the queue");
//////////////////////////////////////////TODO notify!!!!
}
size_t
@ -129,7 +147,8 @@ namespace control {
Lock sync(this);
commandService_.reset(); // closes Session interface
mustHalt_ = true;
UNIMPLEMENTED("*must* notify loop thread"); /////////////////TODO really?
UNIMPLEMENTED("*must* notify loop thread"); /////////////////TODO really? YES!!!
//////////////////////////////////////////TODO notify!!!!
}
void

View file

@ -93,6 +93,8 @@ namespace test {
verifyWakeupActivity();
verifyShutdown_stops_processing();
verifyDisabling_stops_processing();
verifyBuidlerStart();
verifyCheckpoint();
}
@ -279,6 +281,20 @@ namespace test {
CHECK (not looper.shallLoop());
CHECK ( looper.isDying());
}
void
verifyBuidlerStart()
{
UNIMPLEMENTED("verify the logic when builder gets triggered");
}
void
verifyCheckpoint()
{
UNIMPLEMENTED("verify the semantics of reaching a checkpoint");
}
};