b873f7025b
ProcDispatcher: mark some next tasks to care for
2016-12-16 23:26:56 +01:00
53ed0e9aa3
ProcDispatcher: consider and document the fine points of operational semantics
...
there are some pitfalls related to timing and state,
especially since some state changes are triggered, but not immediately reached
2016-12-16 23:11:19 +01:00
30254da95f
Looper: implement core operation control logic
2016-12-16 19:21:06 +01:00
7b860947b1
ProcDispatcher: skeleton of the processing loop
...
including a draft of the Looper control component and the
invocation of the object monitor for waiting on condition var
2016-12-15 22:15:20 +01:00
00077d0431
ProcDispatcher: decide on requirements and implementation structure ( #1049 )
2016-12-15 20:48:35 +01:00
7e65dda771
draft request to halt the dispatcher loop
2016-12-15 06:21:59 +01:00
86f446c197
better control of the shutdown sequence
...
holding the SessionCommandService in a unique_ptr allows us to
close the Interface reliably *before* the Loop is halted.
2016-12-15 05:54:48 +01:00
a3c22b8aff
SessionCommandService to be operated by the DispatcherLoop
2016-12-15 05:38:12 +01:00
4d45dfd4be
introduce CommandDispatch interface
...
this allows to let the DispatcherLoop actually serve
as implementation facility for the SessionCommandService
2016-12-15 05:21:03 +01:00
479f4170c2
implement activated state
...
need to keep state variables on both levels,
since the session manager (lifecycle) "opens" the session
for external access by starting the dispatcher; it may well happen
thus that the session starts up, while the *session subsystem*
is not(yet) started
2016-12-14 04:57:08 +01:00
a853851447
add complete locking to the ProcDispatcher
...
on both levels
- the front-end needs locking to ensure consistent state (memory barrier)
- the back-end nees locking to coordinate command processing
2016-12-14 04:18:58 +01:00
4c30c349aa
change the way command dispatching is controlled by the session
...
"command dispatching" == the public session interface
so we'll better implement this important causal link directly,
instead of some obscure trickery with lifecycle events.
2016-12-14 03:59:13 +01:00
8da9858056
draft skeleton of the dispatcher loop thread
2016-12-13 04:45:00 +01:00
1a8408afb5
rework ProcDispatcher to run dispatcher thread as PImpl
...
note the idea is to have a joinable thread, where deleting
the enclosing object blocks until the thread is finished
2016-12-13 04:34:28 +01:00
0ea37402d2
Ticket #934 : switch entire code-base to use the new Singleton factory
...
lib::Depend<TY> works as drop-in replacement for lib::Singleton<TY>
This changeset removes the convoluted special cases like
SingletonSub and MockInjector.
2013-10-20 03:19:36 +02:00
b9d1899486
cleanup: rectify Proc-Layer namespaces (II)
2011-12-02 17:50:44 +01:00
3f1b7651e9
GPL header whitespace
2010-12-17 23:28:49 +01:00
8c21f21acc
namespace cleanup: bring Singleton and Factory into lib::
2009-10-11 05:57:41 +02:00
da8be6861c
WIP some musing about opening the session interface
2009-10-11 05:57:40 +02:00
ba37045b48
WIP: interface/framwork skeleton
2009-06-08 04:50:29 +02:00