Extract multilist_alloc_t
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
#include "../client/object_id.h"
|
||||
#include "../../cpp-btree/btree_map.h"
|
||||
#include "blockstore_disk.h"
|
||||
#include "multilist.h"
|
||||
|
||||
struct pool_shard_settings_t
|
||||
{
|
||||
@@ -110,23 +111,6 @@ struct heap_inflight_lsn_t
|
||||
uint64_t flags;
|
||||
};
|
||||
|
||||
struct multilist_alloc_t
|
||||
{
|
||||
const uint32_t count, maxn;
|
||||
std::vector<int32_t> sizes;
|
||||
std::vector<uint32_t> nexts, prevs, heads;
|
||||
|
||||
multilist_alloc_t(uint32_t count, uint32_t maxn);
|
||||
bool is_free(uint32_t pos);
|
||||
uint32_t find(uint32_t size);
|
||||
void use_full(uint32_t pos);
|
||||
void use(uint32_t pos, uint32_t size);
|
||||
void do_free(uint32_t pos);
|
||||
void free(uint32_t pos);
|
||||
void verify();
|
||||
void print();
|
||||
};
|
||||
|
||||
class blockstore_heap_t
|
||||
{
|
||||
friend class heap_write_t;
|
||||
|
||||
Reference in New Issue
Block a user