[mempool] more tests

This commit is contained in:
Joe Thornber
2016-06-01 14:46:27 +01:00
parent 73a69abfd2
commit 34c039d7dc
4 changed files with 11 additions and 12 deletions

View File

@@ -33,16 +33,16 @@ copier::issue(copy_op const &op)
throw runtime_error("couldn't allocate buffer");
}
copy_job job(op, *data);
copy_job job(op, data);
job.op.read_complete = job.op.write_complete = false;
unsigned key = genkey(); // used as context for the io_engine
cerr << "data = " << &(*data) << "\n";
cerr << "data = " << data << "\n";
engine_.issue_io(src_handle_,
io_engine::READ,
to_sector(op.src_b),
to_sector(op.src_e),
*data,
data,
key);
jobs_.insert(make_pair(key, job));
}

View File

@@ -26,15 +26,15 @@ mempool::~mempool()
::free(mem_);
}
boost::optional<void *>
void *
mempool::alloc()
{
if (free_.empty())
return optional<void *>();
return nullptr;
mempool_detail::alloc_block &b = free_.front();
free_.pop_front();
return optional<void *>(reinterpret_cast<void *>(&b));
return reinterpret_cast<void *>(&b);
}
void

View File

@@ -23,7 +23,7 @@ namespace bcache {
mempool(size_t block_size, size_t total_mem, size_t alignment = 8);
~mempool();
boost::optional<void *> alloc();
void *alloc();
void free(void *data);
private: