Use unordered_map in schemarouter

The shard map doesn't have to be in order and an unordered map will do
just fine.
This commit is contained in:
Markus Mäkelä
2017-07-04 13:01:04 +03:00
parent 11d494ef33
commit 71bc67b694
4 changed files with 16 additions and 19 deletions

View File

@ -24,12 +24,12 @@ Shard::~Shard()
{
}
bool Shard::add_location(string db, SERVER* target)
bool Shard::add_location(std::string db, SERVER* target)
{
return m_map.insert(make_pair(db, target)).second;
return m_map.insert(std::make_pair(db, target)).second;
}
SERVER* Shard::get_location(string db)
SERVER* Shard::get_location(std::string db)
{
SERVER* rval = NULL;
ServerMap::iterator iter = m_map.find(db);
@ -76,9 +76,9 @@ ShardManager::~ShardManager()
{
}
Shard ShardManager::get_shard(string user, double max_interval)
Shard ShardManager::get_shard(std::string user, double max_interval)
{
SpinLockGuard guard(m_lock);
mxs::SpinLockGuard guard(m_lock);
ShardMap::iterator iter = m_maps.find(user);
@ -98,9 +98,9 @@ Shard ShardManager::get_shard(string user, double max_interval)
return iter->second;
}
void ShardManager::update_shard(Shard& shard, string user)
void ShardManager::update_shard(Shard& shard, std::string user)
{
SpinLockGuard guard(m_lock);
mxs::SpinLockGuard guard(m_lock);
ShardMap::iterator iter = m_maps.find(user);
if (iter == m_maps.end() || shard.newer_than(iter->second))