LeviLamina
Loading...
Searching...
No Matches
SubChunkRequestManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/AutomaticID.h"
7#include "mc/platform/threading/Mutex.h"
8#include "mc/world/level/SubChunkPos.h"
9
10// auto generated forward declare list
11// clang-format off
12class Dimension;
13class PacketSender;
14class SubChunkPacket;
16// clang-format on
17
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::DimensionType, ::SubChunkPos>>> mQueuedRequests;
23 ::ll::TypedStorage<
24 8,
25 64,
26 ::std::unordered_map<
27 ::DimensionType,
28 ::std::unordered_map<::SubChunkPos, ::std::vector<::SubChunkRequestSubscriber*>>>>
29 mActiveSubChunkRequests;
30 ::ll::TypedStorage<
31 8,
32 64,
33 ::std::unordered_map<
34 ::DimensionType,
35 ::std::unordered_map<::SubChunkPos, ::std::chrono::steady_clock::time_point>>>
36 mActiveSubChunkRequestStartTimes;
37 ::ll::TypedStorage<8, 8, ::std::shared_mutex> mQueuedRequestsMutex;
38 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mActiveRequestsMutex;
39 // NOLINTEND
40
41public:
42 // member functions
43 // NOLINTBEGIN
44#ifdef LL_PLAT_C
45 MCAPI void completeSubChunkRequest(::SubChunkPacket const& packet);
46
47 MCAPI bool containsRequesterAtRequest(
48 ::DimensionType const& dimensionType,
49 ::SubChunkPos const& subChunkPosition,
51 ) const;
52
53 MCAPI bool isPositionInProgress(::DimensionType const& dimensionType, ::SubChunkPos const& subChunkPosition) const;
54
55 MCAPI void queueSubChunkRequest(
56 ::DimensionType const& dimensionType,
57 ::SubChunkPos const& subChunkPosition,
59 );
60
61 MCAPI void sendSubChunkRequests(
62 ::PacketSender* sender,
63 ::SubChunkPos const& playerSubChunkPosition,
64 ::DimensionType const& playerDimension
65 );
66
68#endif
69 // NOLINTEND
70
71public:
72 // destructor thunk
73 // NOLINTBEGIN
74#ifdef LL_PLAT_C
75 MCAPI void $dtor();
76#endif
77 // NOLINTEND
78};
Definition Dimension.h:86
Definition PacketSender.h:17
Definition SubChunkPacket.h:19
Definition SubChunkPos.h:5
Definition SubChunkRequestManager.h:18
Definition SubChunkRequestSubscriber.h:13