Index: components/rappor/bloom_filter.cc |
diff --git a/components/rappor/bloom_filter.cc b/components/rappor/bloom_filter.cc |
index 9ad8f3ca0ce9d68191e8896229dbf3d44c2e1fcc..506ff54ba2aaa9c516e4e01d52948375db36e97e 100644 |
--- a/components/rappor/bloom_filter.cc |
+++ b/components/rappor/bloom_filter.cc |
@@ -9,38 +9,29 @@ |
namespace rappor { |
-BloomFilter::BloomFilter(uint32_t bytes_size, |
- uint32_t hash_function_count, |
- uint32_t hash_seed_offset) |
- : bytes_(bytes_size), |
- hash_function_count_(hash_function_count), |
- hash_seed_offset_(hash_seed_offset) { |
- DCHECK_GT(bytes_size, 0u); |
-} |
- |
-BloomFilter::~BloomFilter() {} |
- |
-void BloomFilter::SetString(const std::string& str) { |
- for (size_t i = 0; i < bytes_.size(); ++i) { |
- bytes_[i] = 0; |
+namespace internal { |
+ |
+void SetBloomBits(uint32_t bytes_size, |
+ uint32_t hash_function_count, |
+ uint32_t hash_seed_offset, |
+ const std::string& str, |
+ ByteVector* output) { |
+ DCHECK_GE(output->size(), bytes_size); |
+ for (size_t i = 0; i < bytes_size; ++i) { |
+ (*output)[i] = 0; |
} |
- for (size_t i = 0; i < hash_function_count_; ++i) { |
+ for (size_t i = 0; i < hash_function_count; ++i) { |
// Using CityHash here because we have support for it in Dremel. Many hash |
// functions, such as MD5, SHA1, or Murmur, would probably also work. |
uint32_t index = |
- CityHash64WithSeed(str.data(), str.size(), hash_seed_offset_ + i); |
+ CityHash64WithSeed(str.data(), str.size(), hash_seed_offset + i); |
// Note that the "bytes" are uint8_t, so they are always 8-bits. |
- uint32_t byte_index = (index / 8) % bytes_.size(); |
+ uint32_t byte_index = (index / 8) % bytes_size; |
uint32_t bit_index = index % 8; |
- bytes_[byte_index] |= 1 << bit_index; |
+ (*output)[byte_index] |= 1 << bit_index; |
} |
} |
-void BloomFilter::SetBytesForTesting(const ByteVector& bytes) { |
- DCHECK_EQ(bytes_.size(), bytes.size()); |
- for (size_t i = 0; i < bytes_.size(); ++i) { |
- bytes_[i] = bytes[i]; |
- } |
-} |
+} // namespace internal |
} // namespace rappor |