diff --git a/src/policy_cache.hpp b/src/policy_cache.hpp index 21b4da87..cea6e3ff 100644 --- a/src/policy_cache.hpp +++ b/src/policy_cache.hpp @@ -49,6 +49,29 @@ public: } public: + const + char* + insert(const char *key_, + std::string const &val_) + { + uint64_t hash; + const char *ptr; + STRPOOL_U64 token; + + hash = wyhash(key_.c_str(),key_.size(),0xdeadbeef,_wyp); + token = strpool_inject(&_strpool,val_.c_str(),val_.size()); + ptr = strpool_cstr(&_strpool,token); + _cache.insert_or_assign(hash,ptr); + + fmt::print("insert {}={} token={} ptr={}\n", + key_, + val_, + token, + ptr); + + return ptr; + } + const char* insert(std::string const &key_,