LeviLamina
Loading...
Searching...
No Matches
LevelChunkGarbageCollector.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/threading/MPMCQueue.h"
7
8// auto generated forward declare list
9// clang-format off
10class Dimension;
11class LevelChunk;
13// clang-format on
14
15class LevelChunkGarbageCollector {
16public:
17 // member variables
18 // NOLINTBEGIN
19 ::ll::TypedStorage<8, 8, ::Dimension&> mDimension;
20 ::ll::TypedStorage<8, 616, ::MPMCQueue<::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter>>>
21 mLevelChunksToDiscard;
22 ::ll::TypedStorage<8, 8, ::std::atomic<uint64>> mPendingDeletes;
23 // NOLINTEND
24
25public:
26 // prevent constructor by default
27 LevelChunkGarbageCollector& operator=(LevelChunkGarbageCollector const&);
28 LevelChunkGarbageCollector(LevelChunkGarbageCollector const&);
29 LevelChunkGarbageCollector();
30
31public:
32 // member functions
33 // NOLINTBEGIN
34 MCAPI explicit LevelChunkGarbageCollector(::Dimension& dim);
35
36 MCAPI void acquireDiscardedChunk(::std::unique_ptr<::LevelChunk> discarded);
37
38 MCAPI void flush();
39
40 MCFOLD uint64 getPendingDeletesCount() const;
41 // NOLINTEND
42
43public:
44 // constructor thunks
45 // NOLINTBEGIN
46 MCAPI void* $ctor(::Dimension& dim);
47 // NOLINTEND
48};
Definition Dimension.h:88
Definition LevelChunk.h:87
Definition LevelChunkFinalDeleter.h:10