LeviLamina
Loading...
Searching...
No Matches
DiskAccessDiagnostics.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5namespace Core {
6
7class DiskAccessDiagnostics {
8public:
9 // DiskAccessDiagnostics inner types declare
10 // clang-format off
13 // clang-format on
14
15 // DiskAccessDiagnostics inner types define
16 struct WriteBudgetHistoryEntry {
17 public:
18 // member variables
19 // NOLINTBEGIN
22 // NOLINTEND
23
24 public:
25 // prevent constructor by default
26 WriteBudgetHistoryEntry& operator=(WriteBudgetHistoryEntry const&);
27 WriteBudgetHistoryEntry(WriteBudgetHistoryEntry const&);
28 WriteBudgetHistoryEntry();
29 };
30
31 struct WriteBudgetTelemetryPeriodState {
32 public:
33 // member variables
34 // NOLINTBEGIN
41 // NOLINTEND
42
43 public:
44 // prevent constructor by default
45 WriteBudgetTelemetryPeriodState& operator=(WriteBudgetTelemetryPeriodState const&);
46 WriteBudgetTelemetryPeriodState(WriteBudgetTelemetryPeriodState const&);
47 WriteBudgetTelemetryPeriodState();
48 };
49
50public:
51 // member variables
52 // NOLINTBEGIN
65 // NOLINTEND
66
67public:
68 // prevent constructor by default
69 DiskAccessDiagnostics& operator=(DiskAccessDiagnostics const&);
70 DiskAccessDiagnostics(DiskAccessDiagnostics const&);
71 DiskAccessDiagnostics();
72
73public:
74 // member functions
75 // NOLINTBEGIN
76 MCNAPI explicit DiskAccessDiagnostics(::std::chrono::nanoseconds logInterval);
77
78#ifdef LL_PLAT_C
79 MCNAPI void _checkWriteBudget(
80 ::std::chrono::steady_clock::time_point currentTime,
81 uint64 budgetLowPoint,
82 uint64 budgetReplenishPoint,
83 uint64 currentWriteBudget,
84 double writesMBPerMinute,
85 double writeCountPerMinute,
86 double writeCountLimitPerMinute,
87 uint writeCountLimitPerPeriod,
88 ::std::optional<uint64> osMaxWriteSpeed
89 );
90
91 MCNAPI void update(
92 uint64 byteWrittenPerPeriod,
93 ::std::chrono::nanoseconds byteWriteLimitPeriodDuration,
94 uint64 byteWriteLimitPerPeriod,
95 uint writeCountPerPeriod,
96 ::std::chrono::nanoseconds writeCountLimitPeriodDuration,
97 uint writeCountLimitPerPeriod
98 );
99#endif
100
102 // NOLINTEND
103
104public:
105 // constructor thunks
106 // NOLINTBEGIN
107 MCNAPI void* $ctor(::std::chrono::nanoseconds logInterval);
108 // NOLINTEND
109
110public:
111 // destructor thunk
112 // NOLINTBEGIN
113 MCNAPI void $dtor();
114 // NOLINTEND
115};
116
117} // namespace Core
MCAPI DiskAccessDiagnostics(::std::chrono::nanoseconds logInterval)
MCAPI void * $ctor(::std::chrono::nanoseconds logInterval)
Definition DiskAccessDiagnostics.h:16
Definition Alias.h:14