leveldb
Public Member Functions | List of all members
leveldb::TestHashFilter Class Reference
Inheritance diagram for leveldb::TestHashFilter:
Inheritance graph
[legend]
Collaboration diagram for leveldb::TestHashFilter:
Collaboration graph
[legend]

Public Member Functions

virtual const char * Name () const
 
virtual void CreateFilter (const Slice *keys, int n, std::string *dst) const
 
virtual bool KeyMayMatch (const Slice &key, const Slice &filter) const
 
- Public Member Functions inherited from leveldb::FilterPolicy
virtual ~FilterPolicy ()
 

Detailed Description

Definition at line 17 of file filter_block_test.cc.

Member Function Documentation

§ CreateFilter()

virtual void leveldb::TestHashFilter::CreateFilter ( const Slice keys,
int  n,
std::string *  dst 
) const
inlinevirtual

Implements leveldb::FilterPolicy.

Definition at line 23 of file filter_block_test.cc.

23  {
24  for (int i = 0; i < n; i++) {
25  uint32_t h = Hash(keys[i].data(), keys[i].size(), 1);
26  PutFixed32(dst, h);
27  }
28  }
void PutFixed32(std::string *dst, uint32_t value)
Definition: coding.cc:35
uint32_t Hash(const char *data, size_t n, uint32_t seed)
Definition: hash.cc:18
Here is the call graph for this function:

§ KeyMayMatch()

virtual bool leveldb::TestHashFilter::KeyMayMatch ( const Slice key,
const Slice filter 
) const
inlinevirtual

Implements leveldb::FilterPolicy.

Definition at line 30 of file filter_block_test.cc.

30  {
31  uint32_t h = Hash(key.data(), key.size(), 1);
32  for (size_t i = 0; i + 4 <= filter.size(); i += 4) {
33  if (h == DecodeFixed32(filter.data() + i)) {
34  return true;
35  }
36  }
37  return false;
38  }
uint32_t Hash(const char *data, size_t n, uint32_t seed)
Definition: hash.cc:18
uint32_t DecodeFixed32(const char *ptr)
Definition: coding.h:58
Here is the call graph for this function:

§ Name()

virtual const char* leveldb::TestHashFilter::Name ( ) const
inlinevirtual

Implements leveldb::FilterPolicy.

Definition at line 19 of file filter_block_test.cc.

19  {
20  return "TestHashFilter";
21  }

The documentation for this class was generated from the following file: