8typedef struct TaskQueue TaskQueue;
9typedef struct TaskQueue_WeakRef TaskQueue_WeakRef;
10typedef struct TQMonitor TQMonitor;
11typedef struct TQMonitor_WeakRef TQMonitor_WeakRef;
15typedef struct TQMonitor_ClassIf {
20 bool (*start)(_In_
void* self, _In_ TaskQueue* tq);
21 int64 (*tick)(_In_
void* self);
22 bool (*stop)(_In_
void* self);
24extern TQMonitor_ClassIf TQMonitor_ClassIf_tmpl;
26typedef struct TQMonitor {
40#define TQMonitor(inst) ((TQMonitor*)(unused_noeval((inst) && &((inst)->_is_TQMonitor)), (inst)))
41#define TQMonitorNone ((TQMonitor*)NULL)
43typedef struct TQMonitor_WeakRef {
46 void* _is_TQMonitor_WeakRef;
47 void* _is_ObjInst_WeakRef;
52#define TQMonitor_WeakRef(inst) ((TQMonitor_WeakRef*)(unused_noeval((inst) && &((inst)->_is_TQMonitor_WeakRef)), (inst)))
55#define tqmonitorStart(self, tq) (self)->_->start(TQMonitor(self), TaskQueue(tq))
57#define tqmonitorTick(self) (self)->_->tick(TQMonitor(self))
59#define tqmonitorStop(self) (self)->_->stop(TQMonitor(self))
#define saDeclarePtr(name)
CX Object System - Object-oriented programming in C.
Queue monitoring configuration for detecting stalled tasks.
Shared types and configuration structures for the task queue system.