From 36c43d2aa385250d7389a33e0a5dd1c109581eab Mon Sep 17 00:00:00 2001 From: Arne Welzel Date: Tue, 21 Nov 2023 10:50:37 +0100 Subject: [PATCH] TablePatternMatcher: Drop Insert()/Remove(), use Clear() Also move Clear() when assigning into more generic Assign() function. --- src/Val.cc | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/Val.cc b/src/Val.cc index 1e022a56ca..7bccc6e0b0 100644 --- a/src/Val.cc +++ b/src/Val.cc @@ -1436,9 +1436,6 @@ public: vtype = make_intrusive(std::move(_yield)); } - void Insert(ValPtr pat, ValPtr yield) { Clear(); } - void Remove(ValPtr pat) { Clear(); } - void Clear() { matcher.reset(); } VectorValPtr Lookup(const StringValPtr& s); @@ -1687,9 +1684,6 @@ bool TableVal::Assign(ValPtr index, ValPtr new_val, bool broker_forward, bool* i return false; } - if ( pattern_matcher ) - pattern_matcher->Insert(index, new_val); - return Assign(std::move(index), std::move(k), std::move(new_val), broker_forward, iterators_invalidated); } @@ -1718,6 +1712,9 @@ bool TableVal::Assign(ValPtr index, std::unique_ptr k, ValPtr n subnets->Insert(index.get(), new_entry_val); } + if ( pattern_matcher ) + pattern_matcher->Clear(); + // Keep old expiration time if necessary. if ( old_entry_val && attrs && attrs->Find(detail::ATTR_EXPIRE_CREATE) ) new_entry_val->SetExpireAccess(old_entry_val->ExpireAccessTime()); @@ -2252,7 +2249,7 @@ ValPtr TableVal::Remove(const Val& index, bool broker_forward, bool* iterators_i reporter->InternalWarning("index not in prefix table"); if ( pattern_matcher ) - pattern_matcher->Remove(index.AsListVal()->Idx(0)); + pattern_matcher->Clear(); delete v;