Skip to content
LeviMC
English
AutoLightDark
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 { struct LevelChunkTimingData; }
12namespace Bedrock::Profiling { class PerfClock; }
13// clang-format on
14
15namespace Bedrock {
16
18public:
19 // LevelChunkTimings inner types declare
20 // clang-format off
21 struct Self;
22 // clang-format on
23
24 // LevelChunkTimings inner types define
25 struct Self {
26 public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 96, ::std::array<::std::atomic<int64>, 12>> 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 AtomicStateTimes = ::std::array<::std::atomic<int64>, 12>;
36
37 using AtomicTime = ::std::atomic<int64>;
38
40
41 using Lock = ::std::lock_guard<::SpinLockImpl>;
42
43 using LockMutex = ::SpinLockImpl;
44
45public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<8, 24, ::SpinLockImpl> mDataMutex;
49 ::ll::TypedStorage<8, 120, ::std::optional<::Bedrock::LevelChunkTimings::Self>> mSelf;
50 ::ll::TypedStorage<8, 8, ::std::atomic<uint64>> mNumDiscards;
51 // NOLINTEND
52
53public:
54 // member functions
55 // NOLINTBEGIN
56 MCNAPI ::Bedrock::LevelChunkTimingData cloneAllTimingData() const;
57
58 MCNAPI void onStateChange(::ChunkState from, ::ChunkState to);
59 // NOLINTEND
60};
61
62} // namespace Bedrock
Definition LevelChunkTimings.h:17
MCAPI::Bedrock::LevelChunkTimingData cloneAllTimingData() const
MCAPI void onStateChange(::ChunkState from, ::ChunkState to)
Definition PerfClock.h:7
Definition SpinLockImpl.h:5
Definition LevelChunkTimingData.h:12
Definition LevelChunkTimings.h:25