10#ifndef TOPIC_MANAGER_I_H
11#define TOPIC_MANAGER_I_H
14#include <IceStorm/IceStorm.h>
18#include <IceUtil/RecMutex.h>
38 public IceUtil::RecMutex
58 const Ice::IdentitySeq&);
65 virtual void sync(
const Ice::ObjectPrx&);
66 virtual void initMaster(
const std::set<IceStormElection::GroupNodeInfo>&,
69 virtual Ice::ObjectPrx
getSync()
const;
78 void updateTopicObservers();
79 void updateSubscriberObservers();
82 installTopic(
const std::string&,
89 std::map<std::string, TopicImplPtr> _topics;
91 Ice::ObjectPtr _managerImpl;
92 Ice::ObjectPtr _observerImpl;
93 Ice::ObjectPrx _observer;
94 Ice::ObjectPtr _syncImpl;
The ObserverUpdater interface is implemented by IceStorm and an instance of this interface is provide...
virtual Ice::ObjectPrx getSync() const
TopicPrx retrieve(const std::string &) const
void observerCreateTopic(const IceStormElection::LogUpdate &, const std::string &)
TopicPrx create(const std::string &)
virtual IceStormElection::LogUpdate getLastLogUpdate() const
TopicDict retrieveAll() const
void observerInit(const IceStormElection::LogUpdate &, const IceStormElection::TopicContentSeq &)
Ice::ObjectPtr getServant() const
virtual void sync(const Ice::ObjectPrx &)
virtual Ice::ObjectPrx getObserver() const
void getContent(IceStormElection::LogUpdate &, IceStormElection::TopicContentSeq &)
void observerDestroyTopic(const IceStormElection::LogUpdate &, const std::string &)
TopicManagerImpl(const PersistentInstancePtr &)
void observerAddSubscriber(const IceStormElection::LogUpdate &, const std::string &, const IceStorm::SubscriberRecord &)
void observerRemoveSubscriber(const IceStormElection::LogUpdate &, const std::string &, const Ice::IdentitySeq &)
virtual void initMaster(const std::set< IceStormElection::GroupNodeInfo > &, const IceStormElection::LogUpdate &)
::std::vector<::IceStormElection::TopicContent > TopicContentSeq
A sequence of topic content.
IceDB::Dbi< IceStorm::SubscriberRecordKey, IceStorm::SubscriberRecord, IceDB::IceContext, Ice::OutputStream > SubscriberMap
::IceInternal::ProxyHandle<::IceProxy::IceStorm::Topic > TopicPrx
::std::vector<::IceStorm::SubscriberRecord > SubscriberRecordSeq
IceUtil::Handle< TopicManagerImpl > TopicManagerImplPtr
IceUtil::Handle< PersistentInstance > PersistentInstancePtr
IceUtil::Handle< TopicImpl > TopicImplPtr
IceDB::Dbi< std::string, IceStormElection::LogUpdate, IceDB::IceContext, Ice::OutputStream > LLUMap
A struct used for marking the last log update.
Used to store persistent information for persistent subscribers.