summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/NodeCache.h
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-07-21 14:30:52 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-07-21 14:30:52 +0000
commit2379dcbd554ab5c1aac616b5585c99e3d742305e (patch)
treeb674e53966fba682aa1008855a26721bd910e023 /cpp/src/IceGrid/NodeCache.h
parentOptimized context to avoid copies (diff)
downloadice-2379dcbd554ab5c1aac616b5585c99e3d742305e.tar.bz2
ice-2379dcbd554ab5c1aac616b5585c99e3d742305e.tar.xz
ice-2379dcbd554ab5c1aac616b5585c99e3d742305e.zip
Initial implementation of the IceGrid registry replication.
Diffstat (limited to 'cpp/src/IceGrid/NodeCache.h')
-rw-r--r--cpp/src/IceGrid/NodeCache.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/cpp/src/IceGrid/NodeCache.h b/cpp/src/IceGrid/NodeCache.h
index 850faaf7944..2009b589de8 100644
--- a/cpp/src/IceGrid/NodeCache.h
+++ b/cpp/src/IceGrid/NodeCache.h
@@ -29,6 +29,8 @@ typedef IceUtil::Handle<NodeSessionI> NodeSessionIPtr;
class ServerEntry;
typedef IceUtil::Handle<ServerEntry> ServerEntryPtr;
+class ReplicaCache;
+
class NodeEntry : public IceUtil::Shared, public IceUtil::Mutex
{
public:
@@ -69,19 +71,20 @@ class NodeCache : public CacheByString<NodeEntry>
{
public:
- NodeCache(const Ice::CommunicatorPtr&, int);
+ NodeCache(const Ice::CommunicatorPtr&, ReplicaCache&, int);
void destroy();
NodeEntryPtr get(const std::string&, bool = false) const;
- int getSessionTimeout() { return _sessionTimeout; }
-
const Ice::CommunicatorPtr& getCommunicator() const { return _communicator; }
+ ReplicaCache& getReplicaCache() const { return _replicaCache; }
+ int getSessionTimeout() const { return _sessionTimeout; }
private:
- Ice::CommunicatorPtr _communicator;
+ const Ice::CommunicatorPtr _communicator;
+ ReplicaCache& _replicaCache;
const int _sessionTimeout;
};