LeviLamina
Loading...
Searching...
No Matches
LevelChunkTimings.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/threading/SpinLockImpl.h"
7#include "mc/world/level/chunk/ChunkState.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace Bedrock::Profiling { class PerfClock; }
12// clang-format on
13
14namespace Bedrock {
15
17public:
18 // LevelChunkTimings inner types declare
19 // clang-format off
20 struct Self;
21 // clang-format on
22
23 // LevelChunkTimings inner types define
24 struct Self {
25 public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 24, ::SpinLockImpl> mDataMutex;
29 ::ll::TypedStorage<8, 112, ::std::array<::std::atomic<int64>, 14>> mStateTimes;
30 ::ll::TypedStorage<8, 8, ::std::atomic<uint64>> mNumChanges;
31 ::ll::TypedStorage<8, 8, ::std::atomic<uint64>> mNumRejectedChanges;
32 // NOLINTEND
33 };
34
35 using AtomicTime = ::std::atomic<int64>;
36
38
39 using Lock = ::std::lock_guard<::SpinLockImpl>;
40
41 using LockMutex = ::SpinLockImpl;
42
43 using StateTimes = ::std::array<::std::atomic<int64>, 14>;
44
45public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<8, 160, ::std::optional<::Bedrock::LevelChunkTimings::Self>> mSelf;
49 ::ll::TypedStorage<8, 8, ::std::atomic<uint64>> mNumDiscards;
50 // NOLINTEND
51
52public:
53 // member functions
54 // NOLINTBEGIN
55 MCAPI void onStateChange(::ChunkState from, ::ChunkState to);
56 // NOLINTEND
57};
58
59} // namespace Bedrock
Definition LevelChunkTimings.h:16
Definition PerfClock.h:7
Definition SpinLockImpl.h:5
Definition LevelChunkTimings.h:24