13#include <Ice/CommunicatorF.h>
14#include <Ice/ObjectAdapterF.h>
15#include <Ice/PropertiesF.h>
19#include <IceUtil/Time.h>
46 class TopicReaper :
public IceUtil::Shared,
private IceUtil::Mutex
49 void add(
const std::string&);
53 std::vector<std::string> _topics;
105 const std::string _instanceName;
106 const std::string _serviceName;
113 const IceUtil::Time _discardInterval;
114 const IceUtil::Time _flushInterval;
115 const int _sendTimeout;
116 const int _sendQueueSizeMax;
118 const Ice::ObjectPrx _topicReplicaProxy;
119 const Ice::ObjectPrx _publisherReplicaProxy;
131 ReadWriteCursor<SubscriberRecordKey, SubscriberRecord, IceDB::IceContext, Ice::OutputStream>
160 return _subscriberMap;
166 IceUtilInternal::FileLock _dbLock;
void setNode(const IceStormElection::NodeIPtr &)
TraceLevelsPtr traceLevels() const
Ice::ObjectAdapterPtr publishAdapter() const
IceUtil::TimerPtr timer() const
IceUtil::TimerPtr batchFlusher() const
int sendQueueSizeMax() const
IceStormElection::NodeIPtr node() const
Ice::CommunicatorPtr communicator() const
SendQueueSizeMaxPolicy sendQueueSizeMaxPolicy() const
Ice::ObjectAdapterPtr nodeAdapter() const
IceUtil::Time flushInterval() const
Ice::PropertiesPtr properties() const
std::string serviceName() const
IceStormElection::NodePrx nodeProxy() const
Ice::ObjectAdapterPtr topicAdapter() const
Ice::ObjectPrx topicReplicaProxy() const
std::string instanceName() const
Instance(const std::string &, const std::string &, const Ice::CommunicatorPtr &, const Ice::ObjectAdapterPtr &, const Ice::ObjectAdapterPtr &, const Ice::ObjectAdapterPtr &=0, const IceStormElection::NodePrx &=0)
IceStorm::Instrumentation::TopicManagerObserverPtr observer() const
Ice::ObjectPrx publisherReplicaProxy() const
TopicReaperPtr topicReaper() const
IceUtil::Time discardInterval() const
IceStormElection::ObserversPtr observers() const
PersistentInstance(const std::string &, const std::string &, const Ice::CommunicatorPtr &, const Ice::ObjectAdapterPtr &, const Ice::ObjectAdapterPtr &, const Ice::ObjectAdapterPtr &=0, const IceStormElection::NodePrx &=0)
SubscriberMap subscriberMap() const
const IceDB::Env & dbEnv() const
void add(const std::string &)
std::vector< std::string > consumeReapedTopics()
::IceInternal::ProxyHandle<::IceProxy::IceStormElection::Node > NodePrx
IceUtil::Handle< NodeI > NodeIPtr
IceUtil::Handle< Observers > ObserversPtr
::IceInternal::Handle<::IceStorm::Instrumentation::TopicManagerObserver > TopicManagerObserverPtr
IceDB::Dbi< IceStorm::SubscriberRecordKey, IceStorm::SubscriberRecord, IceDB::IceContext, Ice::OutputStream > SubscriberMap
IceDB::ReadWriteCursor< SubscriberRecordKey, SubscriberRecord, IceDB::IceContext, Ice::OutputStream > SubscriberMapRWCursor
IceUtil::Handle< TraceLevels > TraceLevelsPtr
IceUtil::Handle< PersistentInstance > PersistentInstancePtr
IceUtil::Handle< TopicReaper > TopicReaperPtr
IceUtil::Handle< Instance > InstancePtr
IceDB::Dbi< std::string, IceStormElection::LogUpdate, IceDB::IceContext, Ice::OutputStream > LLUMap
IceUtil::Handle< Timer > TimerPtr
::IceInternal::Handle<::Ice::Properties > PropertiesPtr
::IceInternal::Handle<::Ice::Communicator > CommunicatorPtr
::IceInternal::Handle<::Ice::ObjectAdapter > ObjectAdapterPtr