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
9// auto generated forward declare list
10// clang-format off
11class Dimension;
12class PacketSender;
13class SubChunkPacket;
14class SubChunkPos;
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 MCAPI_C void completeSubChunkRequest(::SubChunkPacket const& packet);
45
46 MCAPI_C bool containsRequesterAtRequest(
47 ::DimensionType const& dimensionType,
48 ::SubChunkPos const& subChunkPosition,
50 ) const;
51
52 MCAPI_C bool
53 isPositionInProgress(::DimensionType const& dimensionType, ::SubChunkPos const& subChunkPosition) const;
54
55 MCAPI_C void queueSubChunkRequest(
56 ::DimensionType const& dimensionType,
57 ::SubChunkPos const& subChunkPosition,
59 );
60
61 MCAPI_C void sendSubChunkRequests(
62 ::PacketSender* sender,
63 ::SubChunkPos const& playerSubChunkPosition,
64 ::DimensionType const& playerDimension
65 );
66 // NOLINTEND
67
68public:
69 // destructor thunk
70 // NOLINTBEGIN
71 MCAPI_C void $dtor();
72 // NOLINTEND
73};
Definition Dimension.h:85
Definition PacketSender.h:17
Definition SubChunkPacket.h:19
Definition SubChunkPos.h:5
Definition SubChunkRequestManager.h:18
Definition SubChunkRequestSubscriber.h:13