diff options
author | Mike Hearn <hearn@google.com> | 2012-06-25 11:17:22 +0200 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2012-10-20 23:08:56 +0200 |
commit | 5e650d6d2dbfc284c300668e71188e663d8f0a45 (patch) | |
tree | bef5ac4e7bfa9845b23ea975be58fa3fe108ef4b /src/leveldb/table/block.h | |
parent | 38ac953b9df1f7a884c1ef0e94301e14c4e7477d (diff) |
Import LevelDB 1.5, it will be used for the transaction database.
Diffstat (limited to 'src/leveldb/table/block.h')
-rw-r--r-- | src/leveldb/table/block.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/leveldb/table/block.h b/src/leveldb/table/block.h new file mode 100644 index 0000000000..2493eb9f9f --- /dev/null +++ b/src/leveldb/table/block.h @@ -0,0 +1,44 @@ +// Copyright (c) 2011 The LevelDB Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. See the AUTHORS file for names of contributors. + +#ifndef STORAGE_LEVELDB_TABLE_BLOCK_H_ +#define STORAGE_LEVELDB_TABLE_BLOCK_H_ + +#include <stddef.h> +#include <stdint.h> +#include "leveldb/iterator.h" + +namespace leveldb { + +struct BlockContents; +class Comparator; + +class Block { + public: + // Initialize the block with the specified contents. + explicit Block(const BlockContents& contents); + + ~Block(); + + size_t size() const { return size_; } + Iterator* NewIterator(const Comparator* comparator); + + private: + uint32_t NumRestarts() const; + + const char* data_; + size_t size_; + uint32_t restart_offset_; // Offset in data_ of restart array + bool owned_; // Block owns data_[] + + // No copying allowed + Block(const Block&); + void operator=(const Block&); + + class Iter; +}; + +} // namespace leveldb + +#endif // STORAGE_LEVELDB_TABLE_BLOCK_H_ |