#pragma once #ifndef BLOBSTORE_IMPLEMENTATIONS_ONBLOCKS_DATANODESTORE_DATALEAFNODE_H_ #define BLOBSTORE_IMPLEMENTATIONS_ONBLOCKS_DATANODESTORE_DATALEAFNODE_H_ #include "DataNode.h" namespace blobstore { namespace onblocks { namespace datanodestore { class DataInnerNode; class DataLeafNode: public DataNode { public: static std::unique_ptr InitializeNewNode(std::unique_ptr block); DataLeafNode(DataNodeView block); virtual ~DataLeafNode(); uint32_t maxStoreableBytes() const; void *data(); const void *data() const; uint32_t numBytes() const; void resize(uint32_t size); private: void fillDataWithZeroesFromTo(off_t begin, off_t end); }; } } } #endif