diff --git a/src/OpaqueVal.cc b/src/OpaqueVal.cc index 5f141fe92a..459d2deb4e 100644 --- a/src/OpaqueVal.cc +++ b/src/OpaqueVal.cc @@ -706,7 +706,7 @@ BloomFilterVal::BloomFilterVal() bloom_filter = nullptr; } -BloomFilterVal::BloomFilterVal(probabilistic::BloomFilter* bf) +BloomFilterVal::BloomFilterVal(zeek::probabilistic::BloomFilter* bf) : OpaqueVal(bloomfilter_type) { hash = nullptr; @@ -784,7 +784,7 @@ BloomFilterValPtr BloomFilterVal::Merge(const BloomFilterVal* x, return nullptr; } - probabilistic::BloomFilter* copy = x->bloom_filter->Clone(); + zeek::probabilistic::BloomFilter* copy = x->bloom_filter->Clone(); if ( ! copy->Merge(y->bloom_filter) ) { @@ -851,7 +851,7 @@ bool BloomFilterVal::DoUnserialize(const broker::data& data) return false; } - auto bf = probabilistic::BloomFilter::Unserialize((*v)[1]); + auto bf = zeek::probabilistic::BloomFilter::Unserialize((*v)[1]); if ( ! bf ) return false; @@ -865,7 +865,7 @@ CardinalityVal::CardinalityVal() : OpaqueVal(cardinality_type) hash = nullptr; } -CardinalityVal::CardinalityVal(probabilistic::CardinalityCounter* arg_c) +CardinalityVal::CardinalityVal(zeek::probabilistic::detail::CardinalityCounter* arg_c) : OpaqueVal(cardinality_type) { c = arg_c; @@ -881,7 +881,7 @@ CardinalityVal::~CardinalityVal() ValPtr CardinalityVal::DoClone(CloneState* state) { return state->NewClone(this, - zeek::make_intrusive(new probabilistic::CardinalityCounter(*c))); + zeek::make_intrusive(new zeek::probabilistic::detail::CardinalityCounter(*c))); } bool CardinalityVal::Typify(zeek::TypePtr arg_type) @@ -945,7 +945,7 @@ bool CardinalityVal::DoUnserialize(const broker::data& data) return false; } - auto cu = probabilistic::CardinalityCounter::Unserialize((*v)[1]); + auto cu = zeek::probabilistic::detail::CardinalityCounter::Unserialize((*v)[1]); if ( ! cu ) return false; diff --git a/src/OpaqueVal.h b/src/OpaqueVal.h index ce223b277e..8b8dcf1cac 100644 --- a/src/OpaqueVal.h +++ b/src/OpaqueVal.h @@ -14,10 +14,8 @@ namespace broker { class data; } -namespace probabilistic { - class BloomFilter; - class CardinalityCounter; -} +ZEEK_FORWARD_DECLARE_NAMESPACED(BloomFilter, zeek, probabilistic); +ZEEK_FORWARD_DECLARE_NAMESPACED(CardinalityCounter, zeek, probabilistic, detail); namespace zeek { @@ -306,7 +304,7 @@ private: class BloomFilterVal : public OpaqueVal { public: - explicit BloomFilterVal(probabilistic::BloomFilter* bf); + explicit BloomFilterVal(zeek::probabilistic::BloomFilter* bf); ~BloomFilterVal() override; ValPtr DoClone(CloneState* state) override; @@ -337,13 +335,13 @@ private: zeek::TypePtr type; zeek::detail::CompositeHash* hash; - probabilistic::BloomFilter* bloom_filter; + zeek::probabilistic::BloomFilter* bloom_filter; }; class CardinalityVal : public OpaqueVal { public: - explicit CardinalityVal(probabilistic::CardinalityCounter*); + explicit CardinalityVal(zeek::probabilistic::detail::CardinalityCounter*); ~CardinalityVal() override; ValPtr DoClone(CloneState* state) override; @@ -355,7 +353,7 @@ public: bool Typify(zeek::TypePtr type); - probabilistic::CardinalityCounter* Get() { return c; }; + zeek::probabilistic::detail::CardinalityCounter* Get() { return c; }; protected: CardinalityVal(); @@ -364,7 +362,7 @@ protected: private: zeek::TypePtr type; zeek::detail::CompositeHash* hash; - probabilistic::CardinalityCounter* c; + zeek::probabilistic::detail::CardinalityCounter* c; }; class ParaglobVal : public OpaqueVal { diff --git a/src/probabilistic/BitVector.cc b/src/probabilistic/BitVector.cc index c37a57b69a..92014df714 100644 --- a/src/probabilistic/BitVector.cc +++ b/src/probabilistic/BitVector.cc @@ -10,7 +10,7 @@ #include "digest.h" -using namespace probabilistic; +namespace zeek::probabilistic::detail { BitVector::size_type BitVector::npos = static_cast(-1); BitVector::block_type BitVector::bits_per_block = @@ -263,8 +263,6 @@ BitVector& BitVector::operator-=(BitVector const& other) return *this; } -namespace probabilistic { - BitVector operator&(BitVector const& x, BitVector const& y) { BitVector b(x); @@ -318,8 +316,6 @@ bool operator<(BitVector const& x, BitVector const& y) return false; } -} - void BitVector::Resize(size_type n, bool value) { size_type old = Blocks(); @@ -581,3 +577,5 @@ BitVector::size_type BitVector::find_from(size_type i) const return i * bits_per_block + lowest_bit(bits[i]); } + +} // namespace zeek::probabilistic::detail diff --git a/src/probabilistic/BitVector.h b/src/probabilistic/BitVector.h index cbbcedd80b..84e745bffb 100644 --- a/src/probabilistic/BitVector.h +++ b/src/probabilistic/BitVector.h @@ -10,7 +10,7 @@ namespace broker { class data; } -namespace probabilistic { +namespace zeek::probabilistic::detail { /** * A vector of bits. @@ -356,4 +356,8 @@ private: size_type num_bits; }; +} // namespace zeek::probabilistic::detail + +namespace probabilistic { + using BitVector [[deprecated("Remove in v4.1. Use zeek::probabilistic::detail::BitVector.")]] = zeek::probabilistic::detail::BitVector; } diff --git a/src/probabilistic/BloomFilter.cc b/src/probabilistic/BloomFilter.cc index ce175c5283..0d6fdb4cd7 100644 --- a/src/probabilistic/BloomFilter.cc +++ b/src/probabilistic/BloomFilter.cc @@ -13,14 +13,14 @@ #include "../util.h" #include "../Reporter.h" -using namespace probabilistic; +namespace zeek::probabilistic { BloomFilter::BloomFilter() { hasher = nullptr; } -BloomFilter::BloomFilter(const Hasher* arg_hasher) +BloomFilter::BloomFilter(const detail::Hasher* arg_hasher) { hasher = arg_hasher; } @@ -56,7 +56,7 @@ std::unique_ptr BloomFilter::Unserialize(const broker::data& data) if ( ! type ) return nullptr; - auto hasher_ = Hasher::Unserialize((*v)[1]); + auto hasher_ = detail::Hasher::Unserialize((*v)[1]); if ( ! hasher_ ) return nullptr; @@ -130,7 +130,7 @@ BasicBloomFilter* BasicBloomFilter::Clone() const BasicBloomFilter* copy = new BasicBloomFilter(); copy->hasher = hasher->Clone(); - copy->bits = new BitVector(*bits); + copy->bits = new detail::BitVector(*bits); return copy; } @@ -145,10 +145,10 @@ BasicBloomFilter::BasicBloomFilter() bits = nullptr; } -BasicBloomFilter::BasicBloomFilter(const Hasher* hasher, size_t cells) +BasicBloomFilter::BasicBloomFilter(const detail::Hasher* hasher, size_t cells) : BloomFilter(hasher) { - bits = new BitVector(cells); + bits = new detail::BitVector(cells); } BasicBloomFilter::~BasicBloomFilter() @@ -158,7 +158,7 @@ BasicBloomFilter::~BasicBloomFilter() void BasicBloomFilter::Add(const zeek::detail::HashKey* key) { - Hasher::digest_vector h = hasher->Hash(key); + detail::Hasher::digest_vector h = hasher->Hash(key); for ( size_t i = 0; i < h.size(); ++i ) bits->Set(h[i] % bits->Size()); @@ -166,7 +166,7 @@ void BasicBloomFilter::Add(const zeek::detail::HashKey* key) size_t BasicBloomFilter::Count(const zeek::detail::HashKey* key) const { - Hasher::digest_vector h = hasher->Hash(key); + detail::Hasher::digest_vector h = hasher->Hash(key); for ( size_t i = 0; i < h.size(); ++i ) { @@ -185,7 +185,7 @@ broker::expected BasicBloomFilter::DoSerialize() const bool BasicBloomFilter::DoUnserialize(const broker::data& data) { - auto b = BitVector::Unserialize(data); + auto b = detail::BitVector::Unserialize(data); if ( ! b ) return false; @@ -198,11 +198,11 @@ CountingBloomFilter::CountingBloomFilter() cells = nullptr; } -CountingBloomFilter::CountingBloomFilter(const Hasher* hasher, - size_t arg_cells, size_t width) +CountingBloomFilter::CountingBloomFilter(const detail::Hasher* hasher, + size_t arg_cells, size_t width) : BloomFilter(hasher) { - cells = new CounterVector(width, arg_cells); + cells = new detail::CounterVector(width, arg_cells); } CountingBloomFilter::~CountingBloomFilter() @@ -249,7 +249,7 @@ CountingBloomFilter* CountingBloomFilter::Clone() const CountingBloomFilter* copy = new CountingBloomFilter(); copy->hasher = hasher->Clone(); - copy->cells = new CounterVector(*cells); + copy->cells = new detail::CounterVector(*cells); return copy; } @@ -262,7 +262,7 @@ std::string CountingBloomFilter::InternalState() const // TODO: Use partitioning in add/count to allow for reusing CMS bounds. void CountingBloomFilter::Add(const zeek::detail::HashKey* key) { - Hasher::digest_vector h = hasher->Hash(key); + detail::Hasher::digest_vector h = hasher->Hash(key); for ( size_t i = 0; i < h.size(); ++i ) cells->Increment(h[i] % cells->Size()); @@ -270,14 +270,14 @@ void CountingBloomFilter::Add(const zeek::detail::HashKey* key) size_t CountingBloomFilter::Count(const zeek::detail::HashKey* key) const { - Hasher::digest_vector h = hasher->Hash(key); + detail::Hasher::digest_vector h = hasher->Hash(key); - CounterVector::size_type min = - std::numeric_limits::max(); + detail::CounterVector::size_type min = + std::numeric_limits::max(); for ( size_t i = 0; i < h.size(); ++i ) { - CounterVector::size_type cnt = cells->Count(h[i] % cells->Size()); + detail::CounterVector::size_type cnt = cells->Count(h[i] % cells->Size()); if ( cnt < min ) min = cnt; } @@ -293,10 +293,12 @@ broker::expected CountingBloomFilter::DoSerialize() const bool CountingBloomFilter::DoUnserialize(const broker::data& data) { - auto c = CounterVector::Unserialize(data); + auto c = detail::CounterVector::Unserialize(data); if ( ! c ) return false; cells = c.release(); return true; } + +} // namespace zeek::probabilistic diff --git a/src/probabilistic/BloomFilter.h b/src/probabilistic/BloomFilter.h index 409d369569..4cf16b0f51 100644 --- a/src/probabilistic/BloomFilter.h +++ b/src/probabilistic/BloomFilter.h @@ -2,6 +2,8 @@ #pragma once +#include "zeek-config.h" + #include #include #include @@ -13,9 +15,9 @@ namespace broker { class data; } -namespace probabilistic { +ZEEK_FORWARD_DECLARE_NAMESPACED(CounterVector, zeek, probabilistic, detail); -class CounterVector; +namespace zeek::probabilistic { /** Types of derived BloomFilter classes. */ enum BloomFilterType { Basic, Counting }; @@ -94,13 +96,13 @@ protected: * * @param hasher The hasher to use for this Bloom filter. */ - explicit BloomFilter(const Hasher* hasher); + explicit BloomFilter(const detail::Hasher* hasher); virtual broker::expected DoSerialize() const = 0; virtual bool DoUnserialize(const broker::data& data) = 0; virtual BloomFilterType Type() const = 0; - const Hasher* hasher; + const detail::Hasher* hasher; }; /** @@ -117,7 +119,7 @@ public: * * @param cells The number of cells. */ - BasicBloomFilter(const Hasher* hasher, size_t cells); + BasicBloomFilter(const detail::Hasher* hasher, size_t cells); /** * Destructor. @@ -176,7 +178,7 @@ protected: { return BloomFilterType::Basic; } private: - BitVector* bits; + detail::BitVector* bits; }; /** @@ -194,7 +196,7 @@ public: * * @param width The maximal bit-width of counter values. */ - CountingBloomFilter(const Hasher* hasher, size_t cells, size_t width); + CountingBloomFilter(const detail::Hasher* hasher, size_t cells, size_t width); /** * Destructor. @@ -225,7 +227,19 @@ protected: { return BloomFilterType::Counting; } private: - CounterVector* cells; + detail::CounterVector* cells; }; -} +} // namespace zeek::probabilistic + +namespace probabilistic { + + using BloomFilterType [[deprecated("Remove in v4.1. Use zeek::probabilistic::BloomFilterType.")]] = zeek::probabilistic::BloomFilterType; + constexpr auto Basic [[deprecated("Remove in v4.1. Use zeek::probabilistic::Basic.")]] = zeek::probabilistic::Basic; + constexpr auto Counting [[deprecated("Remove in v4.1. Use zeek::probabilistic::Counting.")]] = zeek::probabilistic::Counting; + + using BloomFilter [[deprecated("Remove in v4.1. Use zeek::probabilistic::BloomFilter.")]] = zeek::probabilistic::BloomFilter; + using BasicBloomFilter [[deprecated("Remove in v4.1. Use zeek::probabilistic::BasicBloomFilter.")]] = zeek::probabilistic::BasicBloomFilter; + using CountingBloomFilter [[deprecated("Remove in v4.1. Use zeek::probabilistic::CountingBloomFilter.")]] = zeek::probabilistic::CountingBloomFilter; + +} // namespace probabilistic diff --git a/src/probabilistic/CardinalityCounter.cc b/src/probabilistic/CardinalityCounter.cc index 13bdc02e15..db2fa85936 100644 --- a/src/probabilistic/CardinalityCounter.cc +++ b/src/probabilistic/CardinalityCounter.cc @@ -10,7 +10,7 @@ #include "Reporter.h" -using namespace probabilistic; +namespace zeek::probabilistic::detail { int CardinalityCounter::OptimalB(double error, double confidence) const { @@ -279,14 +279,15 @@ std::unique_ptr CardinalityCounter::Unserialize(const broker /* * Find Last Set bit */ -int -CardinalityCounter::flsll(uint64_t mask) -{ - int bit; +int CardinalityCounter::flsll(uint64_t mask) + { + int bit; - if (mask == 0) - return (0); - for (bit = 1; mask != 1; bit++) - mask = (uint64_t)mask >> 1; - return (bit); -} + if (mask == 0) + return (0); + for (bit = 1; mask != 1; bit++) + mask = (uint64_t)mask >> 1; + return (bit); + } + +} // namespace zeek::probabilistic::detail diff --git a/src/probabilistic/CardinalityCounter.h b/src/probabilistic/CardinalityCounter.h index a36f7aa610..630c65982f 100644 --- a/src/probabilistic/CardinalityCounter.h +++ b/src/probabilistic/CardinalityCounter.h @@ -11,7 +11,7 @@ namespace broker { class data; } -namespace probabilistic { +namespace zeek::probabilistic::detail { /** * A probabilistic cardinality counter using the HyperLogLog algorithm. @@ -186,4 +186,8 @@ private: int p; // the log2 of m }; +} // namespace zeek::probabilistic::detail + +namespace probabilistic { + using CardinalityCounter [[deprecated("Remove in v4.1. Use zeek::probabilistic::detail::CardinalityCounter.")]] = zeek::probabilistic::detail::CardinalityCounter; } diff --git a/src/probabilistic/CounterVector.cc b/src/probabilistic/CounterVector.cc index d4b073bca1..e308ed0178 100644 --- a/src/probabilistic/CounterVector.cc +++ b/src/probabilistic/CounterVector.cc @@ -11,7 +11,7 @@ #include "BitVector.h" #include "util.h" -using namespace probabilistic; +namespace zeek::probabilistic::detail { CounterVector::CounterVector(size_t arg_width, size_t cells) { @@ -143,8 +143,6 @@ CounterVector& CounterVector::Merge(const CounterVector& other) return *this; } -namespace probabilistic { - CounterVector& CounterVector::operator|=(const CounterVector& other) { return Merge(other); @@ -156,8 +154,6 @@ CounterVector operator|(const CounterVector& x, const CounterVector& y) return cv |= y; } -} - uint64_t CounterVector::Hash() const { return bits->Hash(); @@ -190,5 +186,4 @@ std::unique_ptr CounterVector::Unserialize(const broker::data& da return cv; } - - +} // namespace zeek::probabilistic::detail diff --git a/src/probabilistic/CounterVector.h b/src/probabilistic/CounterVector.h index 0cdd05be95..9c3709cb23 100644 --- a/src/probabilistic/CounterVector.h +++ b/src/probabilistic/CounterVector.h @@ -2,6 +2,8 @@ #pragma once +#include "zeek-config.h" + #include #include #include @@ -10,9 +12,9 @@ namespace broker { class data; } -namespace probabilistic { +ZEEK_FORWARD_DECLARE_NAMESPACED(BitVector, zeek, probabilistic, detail); -class BitVector; +namespace zeek::probabilistic::detail { /** * A vector of counters, each of which has a fixed number of bits. @@ -154,4 +156,8 @@ private: size_t width; }; +} // namespace zeek::probabilistic::detail + +namespace probabilistic { + using CounterVector [[deprecated("Remove in v4.1. Use zeek::probabilisitc::detail::CounterVector.")]] = zeek::probabilistic::detail::CounterVector; } diff --git a/src/probabilistic/Hasher.cc b/src/probabilistic/Hasher.cc index f24ddecca0..58ad36944e 100644 --- a/src/probabilistic/Hasher.cc +++ b/src/probabilistic/Hasher.cc @@ -13,7 +13,7 @@ #include -using namespace probabilistic; +namespace zeek::probabilistic::detail { Hasher::seed_t Hasher::MakeSeed(const void* data, size_t size) { @@ -178,3 +178,5 @@ bool DoubleHasher::Equals(const Hasher* other) const const DoubleHasher* o = static_cast(other); return h1 == o->h1 && h2 == o->h2; } + +} // namespace zeek::probabilistic::detail diff --git a/src/probabilistic/Hasher.h b/src/probabilistic/Hasher.h index 8154a0dcb2..12cc36bd73 100644 --- a/src/probabilistic/Hasher.h +++ b/src/probabilistic/Hasher.h @@ -10,7 +10,7 @@ namespace broker { class data; } -namespace probabilistic { +namespace zeek::probabilistic::detail { /** Types of derived Hasher classes. */ enum HasherType { Default, Double }; @@ -257,4 +257,17 @@ private: UHF h2; }; +} // namespace zeek::probabilistic::detail + +namespace probabilistic { + + using HasherType [[deprecated("Remove in v4.1. Use zeek::probabilistic::detail::HasherType.")]] = zeek::probabilistic::detail::HasherType; + constexpr auto Default [[deprecated("Remove in v4.1. Use zeek::probabilistic::detail::Default.")]] = zeek::probabilistic::detail::Default; + constexpr auto Double [[deprecated("Remove in v4.1. Use zeek::probabilistic::detail::Double.")]] = zeek::probabilistic::detail::Double; + + using Hasher [[deprecated("Remove in v4.1. Use zeek::probabilistic::detail::Hasher.")]] = zeek::probabilistic::detail::Hasher; + using UHF [[deprecated("Remove in v4.1. Use zeek::probabilistic::detail::UHF.")]] = zeek::probabilistic::detail::UHF; + using DefaultHasher [[deprecated("Remove in v4.1. Use zeek::probabilistic::detail::DefaultHasher.")]] = zeek::probabilistic::detail::DefaultHasher; + using DoubleHasher [[deprecated("Remove in v4.1. Use zeek::probabilistic::detail::DoubleHasher.")]] = zeek::probabilistic::detail::DoubleHasher; + } diff --git a/src/probabilistic/Topk.cc b/src/probabilistic/Topk.cc index 06a1543209..a1b14bad00 100644 --- a/src/probabilistic/Topk.cc +++ b/src/probabilistic/Topk.cc @@ -9,7 +9,7 @@ #include "Reporter.h" #include "Dict.h" -namespace probabilistic { +namespace zeek::probabilistic::detail { static void topk_element_hash_delete_func(void* val) { @@ -519,4 +519,5 @@ bool TopkVal::DoUnserialize(const broker::data& data) assert(i == numElements); return true; } -} + +} // namespace zeek::probabilistic::detail diff --git a/src/probabilistic/Topk.h b/src/probabilistic/Topk.h index f776eada29..bab6bfeb47 100644 --- a/src/probabilistic/Topk.h +++ b/src/probabilistic/Topk.h @@ -11,7 +11,7 @@ ZEEK_FORWARD_DECLARE_NAMESPACED(CompositeHash, zeek::detail); -namespace probabilistic { +namespace zeek::probabilistic::detail { struct Element; @@ -172,4 +172,10 @@ private: bool pruned; // was this data structure pruned? }; -}; +} // namespace zeek::probabilistic::detail + +namespace probabilistic { + using Element [[deprecated("Remove in v4.1. Use zeek::probabilistic::detail::Element.")]] = zeek::probabilistic::detail::Element; + using Bucket [[deprecated("Remove in v4.1. Use zeek::probabilistic::detail::Bucket.")]] = zeek::probabilistic::detail::Bucket; + using TopkVal [[deprecated("Remove in v4.1. Use zeek::probabilistic::detail::TopkVal.")]] = zeek::probabilistic::detail::TopkVal; +} diff --git a/src/probabilistic/bloom-filter.bif b/src/probabilistic/bloom-filter.bif index 1ca5a4fdbb..c5fb31f9b8 100644 --- a/src/probabilistic/bloom-filter.bif +++ b/src/probabilistic/bloom-filter.bif @@ -40,13 +40,13 @@ function bloomfilter_basic_init%(fp: double, capacity: count, return nullptr; } - size_t cells = BasicBloomFilter::M(fp, capacity); - size_t optimal_k = BasicBloomFilter::K(cells, capacity); - Hasher::seed_t seed = Hasher::MakeSeed(name->Len() > 0 ? name->Bytes() : 0, - name->Len()); - const Hasher* h = new DoubleHasher(optimal_k, seed); + size_t cells = zeek::probabilistic::BasicBloomFilter::M(fp, capacity); + size_t optimal_k = zeek::probabilistic::BasicBloomFilter::K(cells, capacity); + zeek::probabilistic::detail::Hasher::seed_t seed = + zeek::probabilistic::detail::Hasher::MakeSeed(name->Len() > 0 ? name->Bytes() : 0, name->Len()); + const zeek::probabilistic::detail::Hasher* h = new zeek::probabilistic::detail::DoubleHasher(optimal_k, seed); - return zeek::make_intrusive(new BasicBloomFilter(h, cells)); + return zeek::make_intrusive(new zeek::probabilistic::BasicBloomFilter(h, cells)); %} ## Creates a basic Bloom filter. This function serves as a low-level @@ -82,11 +82,11 @@ function bloomfilter_basic_init2%(k: count, cells: count, return nullptr; } - Hasher::seed_t seed = Hasher::MakeSeed(name->Len() > 0 ? name->Bytes() : 0, - name->Len()); - const Hasher* h = new DoubleHasher(k, seed); + zeek::probabilistic::detail::Hasher::seed_t seed = + zeek::probabilistic::detail::Hasher::MakeSeed(name->Len() > 0 ? name->Bytes() : 0, name->Len()); + const zeek::probabilistic::detail::Hasher* h = new zeek::probabilistic::detail::DoubleHasher(k, seed); - return zeek::make_intrusive(new BasicBloomFilter(h, cells)); + return zeek::make_intrusive(new zeek::probabilistic::BasicBloomFilter(h, cells)); %} ## Creates a counting Bloom filter. @@ -121,16 +121,16 @@ function bloomfilter_counting_init%(k: count, cells: count, max: count, return nullptr; } - Hasher::seed_t seed = Hasher::MakeSeed(name->Len() > 0 ? name->Bytes() : 0, - name->Len()); + zeek::probabilistic::detail::Hasher::seed_t seed = + zeek::probabilistic::detail::Hasher::MakeSeed(name->Len() > 0 ? name->Bytes() : 0, name->Len()); - const Hasher* h = new DefaultHasher(k, seed); + const zeek::probabilistic::detail::Hasher* h = new zeek::probabilistic::detail::DefaultHasher(k, seed); uint16_t width = 1; while ( max >>= 1 ) ++width; - return zeek::make_intrusive(new CountingBloomFilter(h, cells, width)); + return zeek::make_intrusive(new zeek::probabilistic::CountingBloomFilter(h, cells, width)); %} ## Adds an element to a Bloom filter. @@ -144,7 +144,7 @@ function bloomfilter_counting_init%(k: count, cells: count, max: count, ## bloomfilter_merge function bloomfilter_add%(bf: opaque of bloomfilter, x: any%): any %{ - BloomFilterVal* bfv = static_cast(bf); + auto* bfv = static_cast(bf); if ( ! bfv->Type() && ! bfv->Typify(x->GetType()) ) reporter->Error("failed to set Bloom filter type"); @@ -171,7 +171,7 @@ function bloomfilter_add%(bf: opaque of bloomfilter, x: any%): any ## bloomfilter_merge function bloomfilter_lookup%(bf: opaque of bloomfilter, x: any%): count %{ - const BloomFilterVal* bfv = static_cast(bf); + const auto* bfv = static_cast(bf); if ( ! bfv->Type() ) return zeek::val_mgr->Count(0); @@ -196,7 +196,7 @@ function bloomfilter_lookup%(bf: opaque of bloomfilter, x: any%): count ## bloomfilter_merge function bloomfilter_clear%(bf: opaque of bloomfilter%): any %{ - BloomFilterVal* bfv = static_cast(bf); + auto* bfv = static_cast(bf); if ( bfv->Type() ) // Untyped Bloom filters are already empty. bfv->Clear(); @@ -222,8 +222,8 @@ function bloomfilter_clear%(bf: opaque of bloomfilter%): any function bloomfilter_merge%(bf1: opaque of bloomfilter, bf2: opaque of bloomfilter%): opaque of bloomfilter %{ - const BloomFilterVal* bfv1 = static_cast(bf1); - const BloomFilterVal* bfv2 = static_cast(bf2); + const auto* bfv1 = static_cast(bf1); + const auto* bfv2 = static_cast(bf2); if ( bfv1->Type() && // any one 0 is ok here bfv2->Type() && @@ -244,6 +244,6 @@ function bloomfilter_merge%(bf1: opaque of bloomfilter, ## Returns: a string with a representation of a Bloom filter's internal state. function bloomfilter_internal_state%(bf: opaque of bloomfilter%): string %{ - BloomFilterVal* bfv = static_cast(bf); + auto* bfv = static_cast(bf); return zeek::make_intrusive(bfv->InternalState()); %} diff --git a/src/probabilistic/cardinality-counter.bif b/src/probabilistic/cardinality-counter.bif index 8069003c2b..da1fd4baf3 100644 --- a/src/probabilistic/cardinality-counter.bif +++ b/src/probabilistic/cardinality-counter.bif @@ -22,7 +22,7 @@ module GLOBAL; ## hll_cardinality_copy function hll_cardinality_init%(err: double, confidence: double%): opaque of cardinality %{ - CardinalityCounter* c = new CardinalityCounter(err, confidence); + auto* c = new zeek::probabilistic::detail::CardinalityCounter(err, confidence); auto cv = zeek::make_intrusive(c); return cv; @@ -40,7 +40,7 @@ function hll_cardinality_init%(err: double, confidence: double%): opaque of card ## hll_cardinality_init hll_cardinality_copy function hll_cardinality_add%(handle: opaque of cardinality, elem: any%): bool %{ - CardinalityVal* cv = static_cast(handle); + auto* cv = static_cast(handle); if ( ! cv->Type() && ! cv->Typify(elem->GetType()) ) { @@ -73,8 +73,8 @@ function hll_cardinality_add%(handle: opaque of cardinality, elem: any%): bool ## hll_cardinality_init hll_cardinality_copy function hll_cardinality_merge_into%(handle1: opaque of cardinality, handle2: opaque of cardinality%): bool %{ - CardinalityVal* v1 = static_cast(handle1); - CardinalityVal* v2 = static_cast(handle2); + auto* v1 = static_cast(handle1); + auto* v2 = static_cast(handle2); if ( (v1->Type() != v2->Type()) && // both 0 is ok (v1->Type() != nullptr) && // any one 0 also is ok @@ -85,8 +85,8 @@ function hll_cardinality_merge_into%(handle1: opaque of cardinality, handle2: op return zeek::val_mgr->False(); } - CardinalityCounter* h1 = v1->Get(); - CardinalityCounter* h2 = v2->Get(); + zeek::probabilistic::detail::CardinalityCounter* h1 = v1->Get(); + zeek::probabilistic::detail::CardinalityCounter* h2 = v2->Get(); bool res = h1->Merge(h2); if ( ! res ) @@ -108,8 +108,8 @@ function hll_cardinality_merge_into%(handle1: opaque of cardinality, handle2: op ## hll_cardinality_init hll_cardinality_copy function hll_cardinality_estimate%(handle: opaque of cardinality%): double %{ - CardinalityVal* cv = static_cast(handle); - CardinalityCounter* h = cv->Get(); + auto* cv = static_cast(handle); + zeek::probabilistic::detail::CardinalityCounter* h = cv->Get(); double estimate = h->Size(); @@ -126,9 +126,9 @@ function hll_cardinality_estimate%(handle: opaque of cardinality%): double ## hll_cardinality_init function hll_cardinality_copy%(handle: opaque of cardinality%): opaque of cardinality %{ - CardinalityVal* cv = static_cast(handle); - CardinalityCounter* h = cv->Get(); - CardinalityCounter* h2 = new CardinalityCounter(*h); + auto* cv = static_cast(handle); + zeek::probabilistic::detail::CardinalityCounter* h = cv->Get(); + auto* h2 = new zeek::probabilistic::detail::CardinalityCounter(*h); auto out = zeek::make_intrusive(h2); return out; diff --git a/src/probabilistic/top-k.bif b/src/probabilistic/top-k.bif index 64faeaa31b..9695dcf26e 100644 --- a/src/probabilistic/top-k.bif +++ b/src/probabilistic/top-k.bif @@ -14,7 +14,7 @@ ## topk_size topk_sum topk_merge topk_merge_prune function topk_init%(size: count%): opaque of topk %{ - auto v = zeek::make_intrusive(size); + auto v = zeek::make_intrusive(size); return v; %} @@ -33,7 +33,7 @@ function topk_init%(size: count%): opaque of topk function topk_add%(handle: opaque of topk, value: any%): any %{ assert(handle); - probabilistic::TopkVal* h = (probabilistic::TopkVal*) handle; + auto* h = (zeek::probabilistic::detail::TopkVal*) handle; h->Encountered({zeek::NewRef{}, value}); return nullptr; @@ -52,7 +52,7 @@ function topk_add%(handle: opaque of topk, value: any%): any function topk_get_top%(handle: opaque of topk, k: count%): any_vec %{ assert(handle); - probabilistic::TopkVal* h = (probabilistic::TopkVal*) handle; + auto* h = (zeek::probabilistic::detail::TopkVal*) handle; return h->GetTopK(k); %} @@ -73,7 +73,7 @@ function topk_get_top%(handle: opaque of topk, k: count%): any_vec function topk_count%(handle: opaque of topk, value: any%): count %{ assert(handle); - probabilistic::TopkVal* h = (probabilistic::TopkVal*) handle; + auto* h = (zeek::probabilistic::detail::TopkVal*) handle; return zeek::val_mgr->Count(h->GetCount(value)); %} @@ -93,7 +93,7 @@ function topk_count%(handle: opaque of topk, value: any%): count function topk_epsilon%(handle: opaque of topk, value: any%): count %{ assert(handle); - probabilistic::TopkVal* h = (probabilistic::TopkVal*) handle; + auto* h = (zeek::probabilistic::detail::TopkVal*) handle; return zeek::val_mgr->Count(h->GetEpsilon(value)); %} @@ -112,7 +112,7 @@ function topk_epsilon%(handle: opaque of topk, value: any%): count function topk_size%(handle: opaque of topk%): count %{ assert(handle); - probabilistic::TopkVal* h = (probabilistic::TopkVal*) handle; + auto* h = (zeek::probabilistic::detail::TopkVal*) handle; return zeek::val_mgr->Count(h->GetSize()); %} @@ -132,7 +132,7 @@ function topk_size%(handle: opaque of topk%): count function topk_sum%(handle: opaque of topk%): count %{ assert(handle); - probabilistic::TopkVal* h = (probabilistic::TopkVal*) handle; + auto* h = (zeek::probabilistic::detail::TopkVal*) handle; return zeek::val_mgr->Count(h->GetSum()); %} @@ -152,8 +152,8 @@ function topk_merge%(handle1: opaque of topk, handle2: opaque of topk%): any assert(handle1); assert(handle2); - probabilistic::TopkVal* h1 = (probabilistic::TopkVal*) handle1; - probabilistic::TopkVal* h2 = (probabilistic::TopkVal*) handle2; + auto* h1 = (zeek::probabilistic::detail::TopkVal*) handle1; + auto* h2 = (zeek::probabilistic::detail::TopkVal*) handle2; h1->Merge(h2); @@ -178,8 +178,8 @@ function topk_merge_prune%(handle1: opaque of topk, handle2: opaque of topk%): a assert(handle1); assert(handle2); - probabilistic::TopkVal* h1 = (probabilistic::TopkVal*) handle1; - probabilistic::TopkVal* h2 = (probabilistic::TopkVal*) handle2; + auto* h1 = (zeek::probabilistic::detail::TopkVal*) handle1; + auto* h2 = (zeek::probabilistic::detail::TopkVal*) handle2; h1->Merge(h2, true);