diff options
Diffstat (limited to 'cpp/src/IceGrid/NodeCache.cpp')
-rw-r--r-- | cpp/src/IceGrid/NodeCache.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/cpp/src/IceGrid/NodeCache.cpp b/cpp/src/IceGrid/NodeCache.cpp index 2c421a641c5..7cea0b2d9da 100644 --- a/cpp/src/IceGrid/NodeCache.cpp +++ b/cpp/src/IceGrid/NodeCache.cpp @@ -16,6 +16,11 @@ using namespace std; using namespace IceGrid; +NodeCache::NodeCache(int sessionTimeout, const TraceLevelsPtr& traceLevels) : + CacheByString<NodeEntry>(traceLevels), _sessionTimeout(sessionTimeout) +{ +} + NodeEntryPtr NodeCache::get(const string& name, bool create) const { @@ -114,6 +119,17 @@ NodeEntry::getServers() const return names; } +LoadInfo +NodeEntry::getLoadInfo() const +{ + Lock sync(*this); + if(!_session) + { + throw NodeUnreachableException(); + } + return _session->getLoadInfo(); +} + bool NodeEntry::canRemove() { |