summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/AdapterCache.h
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-11-23 14:44:51 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-11-23 14:44:51 +0000
commitad476fdda5c9a9f23b9e65fc3c4b3016f7704848 (patch)
tree329b46efefd33095fe3ed8dc92ef3d8726cd0857 /cpp/src/IceGrid/AdapterCache.h
parentRemove deprecated methods (diff)
downloadice-ad476fdda5c9a9f23b9e65fc3c4b3016f7704848.tar.bz2
ice-ad476fdda5c9a9f23b9e65fc3c4b3016f7704848.tar.xz
ice-ad476fdda5c9a9f23b9e65fc3c4b3016f7704848.zip
Code cleanup and fixed startup scalability issue of the registry (it no
longer contacts all the nodes).
Diffstat (limited to 'cpp/src/IceGrid/AdapterCache.h')
-rw-r--r--cpp/src/IceGrid/AdapterCache.h20
1 files changed, 8 insertions, 12 deletions
diff --git a/cpp/src/IceGrid/AdapterCache.h b/cpp/src/IceGrid/AdapterCache.h
index cec41f9214f..4fbd397517d 100644
--- a/cpp/src/IceGrid/AdapterCache.h
+++ b/cpp/src/IceGrid/AdapterCache.h
@@ -28,25 +28,26 @@ typedef std::vector<ServerEntryPtr> ServerEntrySeq;
class AdapterEntry;
typedef IceUtil::Handle<AdapterEntry> AdapterEntryPtr;
-class AdapterEntry : virtual public IceUtil::Shared, public IceUtil::Mutex
+class AdapterEntry : virtual public IceUtil::Shared
{
public:
- AdapterEntry(AdapterCache&, const std::string&);
+ AdapterEntry(AdapterCache&, const std::string&, const std::string&);
virtual std::vector<std::pair<std::string, AdapterPrx> > getProxies(int&, bool&) = 0;
virtual float getLeastLoadedNodeLoad(LoadSample) const = 0;
- virtual std::string getApplication() const = 0;
virtual AdapterInfoSeq getAdapterInfo() const = 0;
virtual bool canRemove();
std::string getId() const;
+ std::string getApplication() const;
protected:
AdapterCache& _cache;
const std::string _id;
+ const std::string _application;
};
typedef IceUtil::Handle<AdapterEntry> AdapterEntryPtr;
@@ -54,11 +55,11 @@ class ServerAdapterEntry : public AdapterEntry
{
public:
- ServerAdapterEntry(AdapterCache&, const std::string&, const std::string&, int, const ServerEntryPtr&);
+ ServerAdapterEntry(AdapterCache&, const std::string&, const std::string&, const std::string&, int,
+ const ServerEntryPtr&);
virtual std::vector<std::pair<std::string, AdapterPrx> > getProxies(int&, bool&);
virtual float getLeastLoadedNodeLoad(LoadSample) const;
- virtual std::string getApplication() const;
virtual AdapterInfoSeq getAdapterInfo() const;
virtual const std::string& getReplicaGroupId() const { return _replicaGroupId; }
@@ -66,8 +67,6 @@ public:
int getPriority() const;
private:
-
- ServerEntryPtr getServer() const;
const std::string _replicaGroupId;
const int _priority;
@@ -75,7 +74,7 @@ private:
};
typedef IceUtil::Handle<ServerAdapterEntry> ServerAdapterEntryPtr;
-class ReplicaGroupEntry : public AdapterEntry
+class ReplicaGroupEntry : public AdapterEntry, public IceUtil::Mutex
{
public:
@@ -83,7 +82,6 @@ public:
virtual std::vector<std::pair<std::string, AdapterPrx> > getProxies(int&, bool&);
virtual float getLeastLoadedNodeLoad(LoadSample) const;
- virtual std::string getApplication() const;
virtual AdapterInfoSeq getAdapterInfo() const;
void addReplica(const std::string&, const ServerAdapterEntryPtr&);
@@ -93,8 +91,6 @@ public:
private:
- const std::string _application;
-
LoadBalancingPolicyPtr _loadBalancing;
int _loadBalancingNReplicas;
LoadSample _loadSample;
@@ -107,7 +103,7 @@ class AdapterCache : public CacheByString<AdapterEntry>
{
public:
- ServerAdapterEntryPtr addServerAdapter(const AdapterDescriptor&, const ServerEntryPtr&);
+ ServerAdapterEntryPtr addServerAdapter(const AdapterDescriptor&, const ServerEntryPtr&, const std::string&);
ReplicaGroupEntryPtr addReplicaGroup(const ReplicaGroupDescriptor&, const std::string&);
AdapterEntryPtr get(const std::string&) const;