9typedef struct TaskQueue TaskQueue;
10typedef struct TaskQueue_WeakRef TaskQueue_WeakRef;
11typedef struct TQThreadPoolMonitor TQThreadPoolMonitor;
12typedef struct TQThreadPoolMonitor_WeakRef TQThreadPoolMonitor_WeakRef;
16typedef struct TQThreadPoolMonitor_ClassIf {
21 bool (*start)(_In_
void* self, _In_ TaskQueue* tq);
22 int64 (*tick)(_In_
void* self);
23 bool (*stop)(_In_
void* self);
24} TQThreadPoolMonitor_ClassIf;
25extern TQThreadPoolMonitor_ClassIf TQThreadPoolMonitor_ClassIf_tmpl;
27typedef struct TQThreadPoolMonitor {
29 TQThreadPoolMonitor_ClassIf* _;
30 void* _is_TQThreadPoolMonitor;
45#define TQThreadPoolMonitor(inst) ((TQThreadPoolMonitor*)(unused_noeval((inst) && &((inst)->_is_TQThreadPoolMonitor)), (inst)))
46#define TQThreadPoolMonitorNone ((TQThreadPoolMonitor*)NULL)
48typedef struct TQThreadPoolMonitor_WeakRef {
51 void* _is_TQThreadPoolMonitor_WeakRef;
52 void* _is_TQMonitor_WeakRef;
53 void* _is_ObjInst_WeakRef;
57} TQThreadPoolMonitor_WeakRef;
58#define TQThreadPoolMonitor_WeakRef(inst) ((TQThreadPoolMonitor_WeakRef*)(unused_noeval((inst) && &((inst)->_is_TQThreadPoolMonitor_WeakRef)), (inst)))
62#define tqthreadpoolmonitorCreate(config) TQThreadPoolMonitor_create(config)
65#define tqthreadpoolmonitorStart(self, tq) (self)->_->start(TQThreadPoolMonitor(self), TaskQueue(tq))
67#define tqthreadpoolmonitorTick(self) (self)->_->tick(TQThreadPoolMonitor(self))
69#define tqthreadpoolmonitorStop(self) (self)->_->stop(TQThreadPoolMonitor(self))
#define saDeclarePtr(name)
#define _objfactory_guaranteed
Mutex synchronization primitive.
CX Object System - Object-oriented programming in C.
Queue monitoring configuration for detecting stalled tasks.