LeviLamina
Loading...
Searching...
No Matches
WatchdogTimer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class Scheduler;
8class TaskResult;
9class WorkerPool;
10// clang-format on
11
12class WatchdogTimer {
13public:
14 // member variables
15 // NOLINTBEGIN
26 // NOLINTEND
27
28public:
29 // prevent constructor by default
30 WatchdogTimer& operator=(WatchdogTimer const&);
31 WatchdogTimer(WatchdogTimer const&);
32 WatchdogTimer();
33
34public:
35 // member functions
36 // NOLINTBEGIN
37#ifdef LL_PLAT_C
38 MCNAPI WatchdogTimer(
39 ::WorkerPool& workerPool,
40 ::Scheduler& scheduler,
41 ::std::chrono::nanoseconds timeout,
42 bool startPaused,
43 ::std::function<::std::chrono::steady_clock::time_point()> timeoutCallback,
44 ::std::chrono::nanoseconds deadline,
45 bool assertOnDeadline
46 );
47
48 MCNAPI void _queueTaskWithoutLock();
49
50 MCNAPI ::TaskResult _watchdogTimerThreadRoutine();
51
52 MCNAPI void terminateWatchdogTimer();
53#endif
54 // NOLINTEND
55
56public:
57 // constructor thunks
58 // NOLINTBEGIN
59#ifdef LL_PLAT_C
60 MCNAPI void* $ctor(
61 ::WorkerPool& workerPool,
62 ::Scheduler& scheduler,
63 ::std::chrono::nanoseconds timeout,
64 bool startPaused,
65 ::std::function<::std::chrono::steady_clock::time_point()> timeoutCallback,
66 ::std::chrono::nanoseconds deadline,
67 bool assertOnDeadline
68 );
69#endif
70 // NOLINTEND
71};
Definition Scheduler.h:14
Definition TaskResult.h:5
Definition WorkerPool.h:19
Definition Alias.h:14