Rename things to make it clearer

This commit is contained in:
Johan Wikman
2016-12-14 16:03:28 +02:00
parent c81394445b
commit 8864753edf
2 changed files with 34 additions and 32 deletions

View File

@ -75,8 +75,8 @@ cache_result_t LRUStorage::do_get_value(const CACHE_KEY& key,
uint32_t flags, uint32_t flags,
GWBUF** ppvalue) const GWBUF** ppvalue) const
{ {
NodesPerKey::iterator i = nodes_per_key_.find(key); NodesByKey::iterator i = nodes_by_key_.find(key);
bool existed = (i != nodes_per_key_.end()); bool existed = (i != nodes_by_key_.end());
cache_result_t result = pstorage_->get_value(key, flags, ppvalue); cache_result_t result = pstorage_->get_value(key, flags, ppvalue);
@ -118,8 +118,8 @@ cache_result_t LRUStorage::do_put_value(const CACHE_KEY& key, const GWBUF* pvalu
Node* pnode = NULL; Node* pnode = NULL;
NodesPerKey::iterator i = nodes_per_key_.find(key); NodesByKey::iterator i = nodes_by_key_.find(key);
bool existed = (i != nodes_per_key_.end()); bool existed = (i != nodes_by_key_.end());
if (existed) if (existed)
{ {
@ -135,12 +135,12 @@ cache_result_t LRUStorage::do_put_value(const CACHE_KEY& key, const GWBUF* pvalu
MXS_NOTICE("New size %lu > max size %lu. Removing least recently used.", MXS_NOTICE("New size %lu > max size %lu. Removing least recently used.",
new_size, max_size_); new_size, max_size_);
pnode = free_lru(value_size); pnode = vacate_lru(value_size);
} }
else else
{ {
ss_dassert(stats_.items == max_count_); ss_dassert(stats_.items == max_count_);
pnode = free_lru(); pnode = vacate_lru();
} }
} }
else else
@ -152,8 +152,8 @@ cache_result_t LRUStorage::do_put_value(const CACHE_KEY& key, const GWBUF* pvalu
{ {
try try
{ {
std::pair<NodesPerKey::iterator, bool> std::pair<NodesByKey::iterator, bool>
rv = nodes_per_key_.insert(std::make_pair(key, pnode)); rv = nodes_by_key_.insert(std::make_pair(key, pnode));
ss_dassert(rv.second); ss_dassert(rv.second);
i = rv.first; i = rv.first;
@ -201,8 +201,8 @@ cache_result_t LRUStorage::do_put_value(const CACHE_KEY& key, const GWBUF* pvalu
cache_result_t LRUStorage::do_del_value(const CACHE_KEY& key) cache_result_t LRUStorage::do_del_value(const CACHE_KEY& key)
{ {
NodesPerKey::iterator i = nodes_per_key_.find(key); NodesByKey::iterator i = nodes_by_key_.find(key);
bool existed = (i != nodes_per_key_.end()); bool existed = (i != nodes_by_key_.end());
cache_result_t result = pstorage_->del_value(key); cache_result_t result = pstorage_->del_value(key);
@ -284,11 +284,12 @@ cache_result_t LRUStorage::do_get_items(uint64_t* pItems) const
} }
/** /**
* Free the data associated with the least recently used node. * Free the data associated with the least recently used node,
* but not the node itself.
* *
* @return The node itself, for reuse. * @return The node itself, for reuse.
*/ */
LRUStorage::Node* LRUStorage::free_lru() LRUStorage::Node* LRUStorage::vacate_lru()
{ {
ss_dassert(ptail_); ss_dassert(ptail_);
@ -306,11 +307,12 @@ LRUStorage::Node* LRUStorage::free_lru()
/** /**
* Free the data associated with sufficient number of least recently used nodes, * Free the data associated with sufficient number of least recently used nodes,
* to make the required space available. * to make the required space available. All nodes themselves, but the last node
* are also freed.
* *
* @return The last node whose data was freed, for reuse. * @return The last node whose data was freed, for reuse.
*/ */
LRUStorage::Node* LRUStorage::free_lru(size_t needed_space) LRUStorage::Node* LRUStorage::vacate_lru(size_t needed_space)
{ {
Node* pnode = NULL; Node* pnode = NULL;
@ -361,9 +363,9 @@ bool LRUStorage::free_node_data(Node* pnode)
const CACHE_KEY* pkey = pnode->key(); const CACHE_KEY* pkey = pnode->key();
ss_dassert(pkey); ss_dassert(pkey);
NodesPerKey::iterator i = nodes_per_key_.find(*pkey); NodesByKey::iterator i = nodes_by_key_.find(*pkey);
if (i == nodes_per_key_.end()) if (i == nodes_by_key_.end())
{ {
ss_dassert(!true); ss_dassert(!true);
MXS_ERROR("Item in LRU list was not found in key mapping."); MXS_ERROR("Item in LRU list was not found in key mapping.");
@ -377,9 +379,9 @@ bool LRUStorage::free_node_data(Node* pnode)
ss_dassert(!true); ss_dassert(!true);
MXS_ERROR("Item in LRU list was not found in storage."); MXS_ERROR("Item in LRU list was not found in storage.");
case CACHE_RESULT_OK: case CACHE_RESULT_OK:
if (i != nodes_per_key_.end()) if (i != nodes_by_key_.end())
{ {
nodes_per_key_.erase(i); nodes_by_key_.erase(i);
} }
ss_dassert(stats_.size >= pnode->size()); ss_dassert(stats_.size >= pnode->size());
@ -419,10 +421,10 @@ void LRUStorage::free_node(Node* pnode) const
* *
* @param i The map iterator. * @param i The map iterator.
*/ */
void LRUStorage::free_node(NodesPerKey::iterator& i) const void LRUStorage::free_node(NodesByKey::iterator& i) const
{ {
free_node(i->second); // A Node free_node(i->second); // A Node
nodes_per_key_.erase(i); nodes_by_key_.erase(i);
} }
/** /**

View File

@ -170,19 +170,19 @@ private:
} }
private: private:
const CACHE_KEY* pkey_; /*< Points at the key stored in nodes_per_key_ below. */ const CACHE_KEY* pkey_; /*< Points at the key stored in nodes_by_key_ below. */
size_t size_; /*< The size of the data referred to by pkey_. */ size_t size_; /*< The size of the data referred to by pkey_. */
Node* pnext_; /*< The next node in the LRU list. */ Node* pnext_; /*< The next node in the LRU list. */
Node* pprev_; /*< The previous node in the LRU list. */ Node* pprev_; /*< The previous node in the LRU list. */
}; };
typedef std::tr1::unordered_map<CACHE_KEY, Node*> NodesPerKey; typedef std::tr1::unordered_map<CACHE_KEY, Node*> NodesByKey;
Node* free_lru(); Node* vacate_lru();
Node* free_lru(size_t space); Node* vacate_lru(size_t space);
bool free_node_data(Node* pnode); bool free_node_data(Node* pnode);
void free_node(Node* pnode) const; void free_node(Node* pnode) const;
void free_node(NodesPerKey::iterator& i) const; void free_node(NodesByKey::iterator& i) const;
void remove_node(Node* pnode) const; void remove_node(Node* pnode) const;
void move_to_head(Node* pnode) const; void move_to_head(Node* pnode) const;
@ -214,7 +214,7 @@ private:
uint64_t max_count_; /*< The maximum number of items in the LRU list, */ uint64_t max_count_; /*< The maximum number of items in the LRU list, */
uint64_t max_size_; /*< The maximum size of all cached items. */ uint64_t max_size_; /*< The maximum size of all cached items. */
mutable Stats stats_; /*< Cache statistics. */ mutable Stats stats_; /*< Cache statistics. */
mutable NodesPerKey nodes_per_key_; /*< Mapping from cache keys to corresponding Node. */ mutable NodesByKey nodes_by_key_; /*< Mapping from cache keys to corresponding Node. */
mutable Node* phead_; /*< The node at the LRU list. */ mutable Node* phead_; /*< The node at the LRU list. */
mutable Node* ptail_; /*< The node at bottom of the LRU list.*/ mutable Node* ptail_; /*< The node at bottom of the LRU list.*/
}; };