diff --git a/src/blobstore/interface/Blob.h b/src/blobstore/interface/Blob.h index fc8c5803..caaa8317 100644 --- a/src/blobstore/interface/Blob.h +++ b/src/blobstore/interface/Blob.h @@ -2,6 +2,8 @@ #ifndef BLOBSTORE_INTERFACE_BLOB_H_ #define BLOBSTORE_INTERFACE_BLOB_H_ +#include + namespace blobstore { class Blob { @@ -10,6 +12,8 @@ public: virtual void *data() = 0; virtual const void *data() const = 0; + + virtual size_t size() const = 0; }; } diff --git a/src/blobstore/interface/BlobStore.h b/src/blobstore/interface/BlobStore.h index 95269f29..213a413f 100644 --- a/src/blobstore/interface/BlobStore.h +++ b/src/blobstore/interface/BlobStore.h @@ -14,7 +14,7 @@ class BlobStore { public: virtual ~BlobStore() {} - virtual std::unique_ptr create(const std::string &key) = 0; + virtual std::unique_ptr create(const std::string &key, size_t size) = 0; virtual std::unique_ptr load(const std::string &key) = 0; //TODO Needed for performance? Or is deleting loaded blobs enough? //virtual void remove(const std::string &key) = 0;