}
Auth::User::Pointer
-UserNameCache::lookup(const SBuf &userKey)
+UserNameCache::lookup(const SBuf &userKey) const
{
auto p = store_.find(userKey);
if (p == store_.end())
void
UserNameCache::Cleanup(void *data)
{
+ if (!cbdataReferenceValid(data))
+ return;
// data is this in disguise
UserNameCache *self = static_cast<UserNameCache *>(data);
// cache entries with expiretime <= expirationTime are to be evicted
// generates the list of cached usernames in a format that is convenient
// to merge with equivalent lists obtained from other UserNameCaches.
std::vector<Auth::User::Pointer>
-UserNameCache::sortedUsersList()
+UserNameCache::sortedUsersList() const
{
std::vector<Auth::User::Pointer> rv(size(), nullptr);
std::transform(store_.begin(), store_.end(), rv.begin(),
UserNameCache& operator=(const UserNameCache&) = delete;
/// obtain pointer to user if present, or Pointer(nullptr) if not
- Auth::User::Pointer lookup(const SBuf &userKey);
+ Auth::User::Pointer lookup(const SBuf &userKey) const;
/// add an user to the cache
void insert(Auth::User::Pointer anAuth_user);
void reset() { store_.clear(); }
/// extract number of cached usernames
- size_t size() { return store_.size(); }
+ size_t size() const { return store_.size(); }
/** periodic cleanup function, removes timed-out entries
*
/** obtain sorted list of usernames
*
*/
- std::vector<Auth::User::Pointer> sortedUsersList();
+ std::vector<Auth::User::Pointer> sortedUsersList() const;
/// RegisteredRunner API
virtual void endingShutdown() override;
+
private:
StoreType store_;