LeviLamina
Loading...
Searching...
No Matches
Scheduler.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7
8// auto generated forward declare list
9// clang-format off
10class WorkerPool;
11// clang-format on
12
14public:
15 // Scheduler inner types declare
16 // clang-format off
18 // clang-format on
19
20 // Scheduler inner types define
22 public:
23 // member variables
24 // NOLINTBEGIN
26 // NOLINTEND
27
28 public:
29 // prevent constructor by default
33 };
34
35public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<4, 4, uint> mTotalFrames;
39 ::ll::TypedStorage<4, 4, uint> mStarvedFrames;
40 ::ll::TypedStorage<4, 4, uint> mPromotionFrames;
41 ::ll::TypedStorage<4, 4, uint> mTargetFPS;
42 ::ll::TypedStorage<4, 4, uint> mEffectiveFPS;
43 ::ll::TypedStorage<4, 4, uint> mFramesOverBound;
44 ::ll::TypedStorage<8, 8, double> mAverageCallbackDuration;
45 ::ll::TypedStorage<8, 8, double> mTotalCoroutineDuration;
46 ::ll::TypedStorage<8, 8, uint64> mTotalRunCoroutines;
47 ::ll::TypedStorage<8, 8, double> mCoroutineTimeLimit;
48 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::WorkerPool>> mCoroutinePool;
49 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mNextStarveCheckTime;
50 ::ll::TypedStorage<4, 4, ::std::thread::id> mThreadID;
51 // NOLINTEND
52
53public:
54 // prevent constructor by default
55 Scheduler();
56
57public:
58 // virtual functions
59 // NOLINTBEGIN
60 // vIndex: 0
61 virtual ~Scheduler() /*override*/ = default;
62 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCNAPI Scheduler(::std::string name, uint FPS);
68
69 MCNAPI void processCoroutines(::std::chrono::nanoseconds timeSinceSwap, ::std::chrono::nanoseconds minTimeCap);
70
71 MCNAPI void setTargetFPS(uint FPS);
72 // NOLINTEND
73
74public:
75 // constructor thunks
76 // NOLINTBEGIN
77 MCNAPI void* $ctor(::std::string name, uint FPS);
78 // NOLINTEND
79
80public:
81 // vftables
82 // NOLINTBEGIN
83 MCNAPI static void** $vftable();
84 // NOLINTEND
85};
Definition EnableNonOwnerReferences.h:7
Definition Scheduler.h:21
Definition Scheduler.h:13
MCAPI void setTargetFPS(uint FPS)
MCAPI void processCoroutines(::std::chrono::nanoseconds timeSinceSwap, ::std::chrono::nanoseconds minTimeCap)
static MCAPI void ** $vftable()
MCAPI void * $ctor(::std::string name, uint FPS)
MCAPI Scheduler(::std::string name, uint FPS)
Definition WorkerPool.h:19
Definition Alias.h:14