summaryrefslogtreecommitdiff
path: root/src/emerge.h
diff options
context:
space:
mode:
authorkwolekr <mirrorisim@gmail.com>2013-02-14 18:32:56 -0500
committerkwolekr <mirrorisim@gmail.com>2013-02-25 22:58:11 -0500
commit3b7a445cd78c6b5ab301b5bf44e1ec54a00427f1 (patch)
tree00bfcd57708def240d838ae95cb6666ffdf22438 /src/emerge.h
parentb9d8e59bbf727fcc1a073bbf27e5d1703b9490ef (diff)
downloadminetest-3b7a445cd78c6b5ab301b5bf44e1ec54a00427f1.tar.gz
minetest-3b7a445cd78c6b5ab301b5bf44e1ec54a00427f1.tar.bz2
minetest-3b7a445cd78c6b5ab301b5bf44e1ec54a00427f1.zip
Add global and per-peer queue limits
Diffstat (limited to 'src/emerge.h')
-rw-r--r--src/emerge.h32
1 files changed, 15 insertions, 17 deletions
diff --git a/src/emerge.h b/src/emerge.h
index 0acc89a6d..5f73dcd86 100644
--- a/src/emerge.h
+++ b/src/emerge.h
@@ -14,8 +14,6 @@ class Biome;
class BiomeDefManager;
class EmergeThread;
class ManualMapVoxelManipulator;
-//class ServerMap;
-//class MapBlock;
#include "server.h"
@@ -29,20 +27,19 @@ struct BlockMakeData {
UniqueQueue<v3s16> transforming_liquid;
INodeDefManager *nodedef;
-// BlockMakeData();
-// ~BlockMakeData();
-
-BlockMakeData():
- no_op(false),
- vmanip(NULL),
- seed(0),
- nodedef(NULL)
-{}
-
-~BlockMakeData()
-{
- delete vmanip;
-}
+ BlockMakeData():
+ no_op(false),
+ vmanip(NULL),
+ seed(0),
+ nodedef(NULL)
+ {}
+
+ ~BlockMakeData() { delete vmanip; }
+};
+
+struct BlockEmergeData {
+ u16 peer_requested;
+ u8 flags;
};
class EmergeManager {
@@ -53,7 +50,8 @@ public:
MapgenParams *params;
JMutex queuemutex;
- std::map<v3s16, u8> blocks_enqueued; //change to a hashtable later
+ std::map<v3s16, BlockEmergeData *> blocks_enqueued;
+ std::map<u16, u16> peer_queue_count;
Mapgen *mapgen;
EmergeThread *emergethread;