11typedef struct TaskQueue TaskQueue;
12typedef struct TaskQueue_WeakRef TaskQueue_WeakRef;
13typedef struct TQMonitor TQMonitor;
14typedef struct TQMonitor_WeakRef TQMonitor_WeakRef;
17#define _sti_TQMonitor _sti_object
18#define SType_TQMonitor TQMonitor*
19#define STStorageType_TQMonitor TQMonitor*
20#define STypeArg_TQMonitor(type, val) stgeneric(object, (ObjInst*)objInstCheckClass(TQMonitor, val))
21#define STypeArgPtr_TQMonitor(type, val) (stgeneric*)objInstCheckClassPtr(TQMonitor, val)
22#define STypeCheckedArg_TQMonitor(type, val) stType(type), stArg(type, val)
23#define STypeCheckedPtrArg_TQMonitor(type, val) stType(type), stArgPtr(type, val)
25typedef struct TQMonitor_ClassIf {
30 bool (*start)(_In_
void* self, _In_ TaskQueue* tq);
31 int64 (*tick)(_In_
void* self);
32 bool (*stop)(_In_
void* self);
34extern TQMonitor_ClassIf TQMonitor_ClassIf_tmpl;
36typedef struct TQMonitor {
50#define TQMonitor(inst) objInstCheckClass(TQMonitor, inst)
51#define TQMonitorNone ((TQMonitor*)NULL)
53typedef struct TQMonitor_WeakRef {
56 void* _is_TQMonitor_WeakRef;
57 void* _is_ObjInst_WeakRef;
62#define TQMonitor_WeakRef(inst) objWeakRefCheckClass(TQMonitor, inst)
65#define tqmonitorStart(self, tq) (self)->_->start(TQMonitor(self), TaskQueue(tq))
67#define tqmonitorTick(self) (self)->_->tick(TQMonitor(self))
69#define tqmonitorStop(self) (self)->_->stop(TQMonitor(self))
#define saDeclarePtr(name)
CX Struct System - Introspectable, serializable POD structures in C.
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.