diff options
author | Matthew Newhook <matthew@zeroc.com> | 2008-02-29 15:51:11 +0800 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2008-02-29 16:39:54 +0800 |
commit | fb4132881dde7c9b135d713a06a3b64db1f706db (patch) | |
tree | 8a037e9d4cae7ed15360ab0878d14b32ac3150a4 /cpp/src/IceStorm/Instance.h | |
parent | fixing mode on php/config/Make.rules.mak (diff) | |
download | ice-fb4132881dde7c9b135d713a06a3b64db1f706db.tar.bz2 ice-fb4132881dde7c9b135d713a06a3b64db1f706db.tar.xz ice-fb4132881dde7c9b135d713a06a3b64db1f706db.zip |
Merge HA IceStorm branch.
- http://bugzilla/bugzilla/show_bug.cgi?id=2706
- http://bugzilla/bugzilla/show_bug.cgi?id=2705
Diffstat (limited to 'cpp/src/IceStorm/Instance.h')
-rw-r--r-- | cpp/src/IceStorm/Instance.h | 63 |
1 files changed, 50 insertions, 13 deletions
diff --git a/cpp/src/IceStorm/Instance.h b/cpp/src/IceStorm/Instance.h index 19e8801bdcf..0f38c70da6d 100644 --- a/cpp/src/IceStorm/Instance.h +++ b/cpp/src/IceStorm/Instance.h @@ -15,49 +15,86 @@ #include <Ice/ObjectAdapterF.h> #include <Ice/PropertiesF.h> #include <IceUtil/Time.h> +#include <IceStorm/Election.h> -namespace IceStorm +namespace IceUtil +{ + +class Timer; +typedef IceUtil::Handle<Timer> TimerPtr; + +} + +namespace IceStormElection { -class BatchFlusher; -typedef IceUtil::Handle<BatchFlusher> BatchFlusherPtr; +class Observers; +typedef IceUtil::Handle<Observers> ObserversPtr; + +class NodeI; +typedef IceUtil::Handle<NodeI> NodeIPtr; + +} + +namespace IceStorm +{ class TraceLevels; typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr; -class SubscriberPool; -typedef IceUtil::Handle<SubscriberPool> SubscriberPoolPtr; - class Instance : public IceUtil::Shared { public: - Instance(const std::string&, const std::string&, const Ice::CommunicatorPtr&, const Ice::ObjectAdapterPtr&); + Instance(const std::string&, const std::string&, const Ice::CommunicatorPtr&, const Ice::ObjectAdapterPtr&, + const Ice::ObjectAdapterPtr&, bool = false, const Ice::ObjectAdapterPtr& = 0, + const IceStormElection::NodePrx& = 0); ~Instance(); + void setNode(const IceStormElection::NodeIPtr&); + std::string instanceName() const; + std::string serviceName() const; Ice::CommunicatorPtr communicator() const; Ice::PropertiesPtr properties() const; - Ice::ObjectAdapterPtr objectAdapter() const; + Ice::ObjectAdapterPtr publishAdapter() const; + Ice::ObjectAdapterPtr topicAdapter() const; + Ice::ObjectAdapterPtr nodeAdapter() const; + IceStormElection::ObserversPtr observers() const; + IceStormElection::NodeIPtr node() const; + IceStormElection::NodePrx nodeProxy() const; TraceLevelsPtr traceLevels() const; - BatchFlusherPtr batchFlusher() const; - SubscriberPoolPtr subscriberPool() const; + IceUtil::TimerPtr batchFlusher() const; + IceUtil::TimerPtr timer() const; + Ice::ObjectPrx topicReplicaProxy() const; + Ice::ObjectPrx publisherReplicaProxy() const; IceUtil::Time discardInterval() const; + IceUtil::Time flushInterval() const; int sendTimeout() const; void shutdown(); + void destroy(); private: const std::string _instanceName; + const std::string _serviceName; const Ice::CommunicatorPtr _communicator; - const Ice::ObjectAdapterPtr _adapter; + const Ice::ObjectAdapterPtr _publishAdapter; + const Ice::ObjectAdapterPtr _topicAdapter; + const Ice::ObjectAdapterPtr _nodeAdapter; + const IceStormElection::NodePrx _nodeProxy; const TraceLevelsPtr _traceLevels; const IceUtil::Time _discardInterval; + const IceUtil::Time _flushInterval; const int _sendTimeout; - BatchFlusherPtr _batchFlusher; - SubscriberPoolPtr _subscriberPool; + const Ice::ObjectPrx _topicReplicaProxy; + const Ice::ObjectPrx _publisherReplicaProxy; + IceStormElection::NodeIPtr _node;; + IceStormElection::ObserversPtr _observers; + IceUtil::TimerPtr _batchFlusher; + IceUtil::TimerPtr _timer; }; typedef IceUtil::Handle<Instance> InstancePtr; |