From 24c4b7c68d283a4d1de72a3eb68f1268f1fe34e3 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sat, 27 Nov 2010 17:18:34 +0200 Subject: Working version before block send priorization update --- src/server.h | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) (limited to 'src/server.h') diff --git a/src/server.h b/src/server.h index 5c856333a..c178480d5 100644 --- a/src/server.h +++ b/src/server.h @@ -201,6 +201,28 @@ struct PlayerInfo u32 PIChecksum(core::list &l); +/* + Used for queueing and sorting block transfers in containers + + Lower priority number means higher priority. +*/ +struct PrioritySortedBlockTransfer +{ + PrioritySortedBlockTransfer(float a_priority, v3s16 a_pos, u16 a_dest_peer) + { + priority = a_priority; + pos = a_pos; + dest_peer = a_dest_peer; + } + bool operator < (PrioritySortedBlockTransfer &other) + { + return priority < other.priority; + } + float priority; + v3s16 pos; + u16 a_dest_peer; +}; + class RemoteClient { public: @@ -252,6 +274,8 @@ public: void BlockEmerged(); // Increments timeouts and removes timed-out blocks from list + // NOTE: This doesn't fix the server-not-sending-block bug + // because it is related to emerging, not sending. //void RunSendingTimeouts(float dtime, float timeout); void PrintInfo(std::ostream &o) @@ -310,6 +334,15 @@ private: JMutex m_blocks_sending_mutex; }; +/*struct ServerSettings +{ + ServerSettings() + { + creative_mode = false; + } + bool creative_mode; +};*/ + class Server : public con::PeerHandler { public: @@ -319,7 +352,10 @@ public: Server( std::string mapsavedir, bool creative_mode, - MapgenParams mapgen_params + HMParams hm_params, + MapParams map_params, + float objectdata_inverval, + u16 active_object_range ); ~Server(); void start(unsigned short port); @@ -377,8 +413,11 @@ private: EmergeThread m_emergethread; BlockEmergeQueue m_emerge_queue; - + + // Settings bool m_creative_mode; + float m_objectdata_interval; + u16 m_active_object_range; friend class EmergeThread; friend class RemoteClient; -- cgit v1.2.3