2014-12-09 17:56:48 +01:00
|
|
|
#include "BlobStoreOnBlocks.h"
|
|
|
|
|
|
|
|
#include "BlobOnBlocks.h"
|
|
|
|
|
|
|
|
using std::unique_ptr;
|
|
|
|
using std::make_unique;
|
|
|
|
|
|
|
|
using blockstore::BlockStore;
|
2014-12-09 17:45:33 +01:00
|
|
|
|
|
|
|
namespace blobstore {
|
|
|
|
namespace onblocks {
|
|
|
|
|
2014-12-09 17:56:48 +01:00
|
|
|
BlobStoreOnBlocks::BlobStoreOnBlocks(unique_ptr<BlockStore> blockStore)
|
|
|
|
: _blocks(std::move(blockStore)) {
|
2014-12-09 17:45:33 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
BlobStoreOnBlocks::~BlobStoreOnBlocks() {
|
|
|
|
}
|
|
|
|
|
2014-12-09 17:56:48 +01:00
|
|
|
BlobWithKey BlobStoreOnBlocks::create(size_t size) {
|
|
|
|
auto block = _blocks->create(size);
|
|
|
|
return BlobWithKey(block.key, make_unique<BlobOnBlocks>(std::move(block.block)));
|
|
|
|
}
|
|
|
|
|
|
|
|
unique_ptr<Blob> BlobStoreOnBlocks::load(const std::string &key) {
|
|
|
|
return make_unique<BlobOnBlocks>(_blocks->load(key));
|
|
|
|
}
|
|
|
|
|
2014-12-09 17:45:33 +01:00
|
|
|
}
|
|
|
|
}
|