]> git.localhorst.tv Git - blank.git/blobdiff - src/client/ChunkReceiver.hpp
cleanup of sdl event to string functions
[blank.git] / src / client / ChunkReceiver.hpp
index 74a03a74318f4fd9b75defb779c1a7d5a5da3fb5..d682d1e7f2b9251ecdaf2a81e583f2c44fbf5631 100644 (file)
 namespace blank {
 
 class ChunkStore;
+class WorldSave;
 
 namespace client {
 
 class ChunkTransmission;
+class Client;
 
 class ChunkReceiver {
 
 public:
-       explicit ChunkReceiver(ChunkStore &);
+       ChunkReceiver(Client &, ChunkStore &, const WorldSave &);
        ~ChunkReceiver();
 
        void Update(int dt);
 
+       int ToLoad() const noexcept;
+
+       void LoadOne();
+       void LoadN(std::size_t n);
+
+       void StoreN(std::size_t n);
+
        void Handle(const Packet::ChunkBegin &);
        void Handle(const Packet::ChunkData &);
 
@@ -31,10 +40,14 @@ private:
        ChunkTransmission &GetTransmission(std::uint32_t id);
        void Commit(ChunkTransmission &);
 
+       void ReRequest(ChunkTransmission &);
+
 private:
+       Client &client;
        ChunkStore &store;
+       const WorldSave &save;
        std::list<ChunkTransmission> transmissions;
-       IntervalTimer timer;
+       CoarseTimer timer;
 
 };