27class NetworkChunkPublisher {
31 ::ll::TypedStorage<8, 8, ::ILevel&> mLevel;
32 ::ll::TypedStorage<8, 8, ::ServerNetworkSystem*> mNetwork;
33 ::ll::TypedStorage<8, 176, ::NetworkIdentifier> mOwner;
34 ::ll::TypedStorage<8, 8, ::ClientBlobCache::Server::ActiveTransfersManager*> mClientCache;
35 ::ll::TypedStorage<1, 1, ::SubClientId> mSubClientId;
36 ::ll::TypedStorage<4, 12, ::BlockPos> mLastChunkUpdatePosition;
37 ::ll::TypedStorage<4, 4, uint> mLastChunkUpdateRadius;
38 ::ll::TypedStorage<4, 4, uint> mHandleForChunkBuildOrderUpdates;
39 ::ll::TypedStorage<4, 4, int> mChunksSentSinceStart;
40 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ChunkViewSource>> mSource;
41 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ChunkSource>> mNetworkChunkSource;
42 ::ll::TypedStorage<8, 64, ::std::function<void(::gsl::span<::std::shared_ptr<::LevelChunk>>)>> mAddCallback;
43 ::ll::TypedStorage<8, 32, ::std::string> mCacheSerializeBuffer;
44 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPositionAndDimension, ::std::weak_ptr<::LevelChunk>>>
46 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastGenerationRequestQueued;
47 ::ll::TypedStorage<1, 1, bool> mWaitingForServerChunks;
48 ::ll::TypedStorage<1, 1, bool> mInitialSpawnDone;
52 ::std::queue<::ClientGenerationRequestHandler, ::std::deque<::ClientGenerationRequestHandler>>>
58 NetworkChunkPublisher& operator=(NetworkChunkPublisher
const&);
59 NetworkChunkPublisher(NetworkChunkPublisher
const&);
60 NetworkChunkPublisher();
65 virtual ~NetworkChunkPublisher() =
default;
73 MCAPI
bool _sendQueuedChunk(
78 MCAPI
void _serializeAndCache(
84 MCAPI
void clearRegion();
86 MCAPI
void destroyRegion();
89 MCAPI
void handleGenerationRequests();
93 MCAPI
void queueChunkGenerationRequests(
97 ::std::vector<::ChunkPos>
const& serverChunks
100 MCAPI
void sendQueuedChunks();
102 MCAPI
void setClientsNetworkChunkSource(::std::shared_ptr<::ChunkSource> networkChunkSource);