topic "Timer";
[ $$0,0#00000000000000000000000000000000:Default]
[{_}%EN-US 
[s0; [*R6 Timer]&]
[s0; &]
[s0; [2 Timer queue, usable without CtrlCore.]&]
[s0;2 &]
[s0; [2 Some characteristics:]&]
[s0;2 &]
[s0;i150;O0; [2 The Interface is the same as used from the Ctrl`::TimerCallback 
in CtrlCore]&]
[s0;2 &]
[s0;i150;O0; [2 To use it one does `*not`* need CtrlCore anymore, simply 
Core and Timer, where the application has a Timer instance.]&]
[s0;2 &]
[s0;i150;O0; [2 Should keep in mind, that it`'s a timer `*queue`* other 
things wont get to execution, until a current task is finished, 
and the timer queue can check whether time has come for the next 
task.]&]
[s0;2 &]
[s0;i150;O0; [2 Thus, the timing is not as accurate as maybe desired 
and can have `"timer glitches/jitter`", depending on work load..]&]
[s0;2 &]
[s0;i150;O0; [2 Favorite use is to schedule some `*non`*`-timing`-critical 
work for `"somewhere`-around`-in`-the`-future`", like i.e. observe 
some not too strict timing constraints in custom communication 
protocols (answer needs to come in within X time, keep alive 
messages..)]&]
[s0;2 &]
[s0;i150;O0; [2 For timing critical stuff, consider using OS native 
timer means, for WIN32 SetTimer (in windowing environment, using 
WM`_TIMER callback) or CreateWaitableTimer for windowing`-independent 
stuff, or even QueryPerformanceCounter. for Linux/Unix/Posix 
settimer function, but for Linux there is a lot anyway.]&]
[s0;2 &]
[s0; ]