// Copyright (c) 2012 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. // // A filter block is stored near the end of a Table file. It contains // filters (e.g., bloom filters) for all data blocks in the table combined // into a single filter block. #ifndef STORAGE_LEVELDB_TABLE_FILTER_BLOCK_H_ #define STORAGE_LEVELDB_TABLE_FILTER_BLOCK_H_ #include <cstddef> #include <cstdint> #include <string> #include <vector> #include "leveldb/slice.h" #include "util/hash.h" namespace leveldb { class FilterPolicy; // A FilterBlockBuilder is used to construct all of the filters for a // particular Table. It generates a single string which is stored as // a special block in the Table. // // The sequence of calls to FilterBlockBuilder must match the regexp: // (StartBlock AddKey*)* Finish class FilterBlockBuilder { … }; class FilterBlockReader { … }; } // namespace leveldb #endif // STORAGE_LEVELDB_TABLE_FILTER_BLOCK_H_