summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/ServerCache.h
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2017-02-10 18:42:18 +0100
committerBenoit Foucher <benoit@zeroc.com>2017-02-10 18:42:18 +0100
commit3b2960e7be53c931ffcf84a0a2fe3ca1e2b75e11 (patch)
tree8a2475dda8b95d5b837bdf5415a1a968c57642c1 /cpp/src/IceGrid/ServerCache.h
parentFix (ICE-7331) - IceGridGUI preference preservation (diff)
downloadice-3b2960e7be53c931ffcf84a0a2fe3ca1e2b75e11.tar.bz2
ice-3b2960e7be53c931ffcf84a0a2fe3ca1e2b75e11.tar.xz
ice-3b2960e7be53c931ffcf84a0a2fe3ca1e2b75e11.zip
Fixed ICE-7328 - IceGrid no longer returns proxies from disabled servers for ByType operations
Diffstat (limited to 'cpp/src/IceGrid/ServerCache.h')
-rw-r--r--cpp/src/IceGrid/ServerCache.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/cpp/src/IceGrid/ServerCache.h b/cpp/src/IceGrid/ServerCache.h
index d604439caa8..8379fe4f8c3 100644
--- a/cpp/src/IceGrid/ServerCache.h
+++ b/cpp/src/IceGrid/ServerCache.h
@@ -34,6 +34,9 @@ typedef IceUtil::Handle<NodeEntry> NodeEntryPtr;
class CheckServerResult;
typedef IceUtil::Handle<CheckServerResult> CheckServerResultPtr;
+class NodeObserverTopic;
+typedef IceUtil::Handle<NodeObserverTopic> NodeObserverTopicPtr;
+
class CheckUpdateResult : public IceUtil::Shared
{
public:
@@ -97,6 +100,7 @@ public:
void destroyCallback();
void exception(const Ice::Exception&);
+ virtual bool isEnabled() const;
virtual void allocated(const SessionIPtr&);
virtual void allocatedNoSync(const SessionIPtr&);
virtual void released(const SessionIPtr&);
@@ -139,7 +143,8 @@ public:
using CacheByString<ServerEntry>::remove;
#endif
- ServerCache(const Ice::CommunicatorPtr&, const std::string&, NodeCache&, AdapterCache&, ObjectCache&, AllocatableObjectCache&);
+ ServerCache(const Ice::CommunicatorPtr&, const std::string&, NodeCache&, AdapterCache&, ObjectCache&,
+ AllocatableObjectCache&);
ServerEntryPtr add(const ServerInfo&);
ServerEntryPtr get(const std::string&) const;
@@ -155,6 +160,9 @@ public:
Ice::CommunicatorPtr getCommunicator() const { return _communicator; }
const std::string& getInstanceName() const { return _instanceName; }
+ const NodeObserverTopicPtr& getNodeObserverTopic() const { return _nodeObserverTopic; }
+ void setNodeObserverTopic(const NodeObserverTopicPtr&);
+
private:
void addCommunicator(const CommunicatorDescriptorPtr&, const CommunicatorDescriptorPtr&, const ServerEntryPtr&,
@@ -170,6 +178,7 @@ private:
AdapterCache& _adapterCache;
ObjectCache& _objectCache;
AllocatableObjectCache& _allocatableObjectCache;
+ NodeObserverTopicPtr _nodeObserverTopic;
};
};