diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-03-30 12:24:11 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-03-30 12:24:45 +0000 |
commit | 0423c53c743ad20504995cc5013c49d37d890741 (patch) | |
tree | c6aa5d433be6dc890adeee95c38330c9d9309ff4 /messagebus/src | |
parent | c098a56abdf64cb98554dc91592ca1b409e92540 (diff) |
Avoid double lookup.
Diffstat (limited to 'messagebus/src')
-rw-r--r-- | messagebus/src/vespa/messagebus/network/rpcservicepool.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/messagebus/src/vespa/messagebus/network/rpcservicepool.cpp b/messagebus/src/vespa/messagebus/network/rpcservicepool.cpp index cad28b9f601..fb40ccff62b 100644 --- a/messagebus/src/vespa/messagebus/network/rpcservicepool.cpp +++ b/messagebus/src/vespa/messagebus/network/rpcservicepool.cpp @@ -19,8 +19,9 @@ RPCServicePool::~RPCServicePool() = default; RPCServiceAddress::UP RPCServicePool::resolve(const string &pattern) { - if (_lru.hasKey(pattern)) { - return _lru[pattern]->resolve(); + std::unique_ptr<RPCService> * found = _lru.findAndRef(pattern); + if (found) { + return (*found)->resolve(); } else { auto service = std::make_unique<RPCService>(_net.getMirror(), pattern); auto result = service->resolve(); |