29 #include "../Factory.h" 30 #include "../ParticipantConfig.h" 31 #include "../QualityOfServiceSpec.h" 32 #include "../filter/Filter.h" 42 namespace eventprocessing {
49 receivingStrategyConfig(receivingStrategyConfig) {
63 InRouteConfigurator::InRouteConfigurator(
const Scope& scope,
65 d(new
Impl(config.getEventReceivingStrategy())) {
66 d->logger = Logger::getLogger(
"rsb.eventprocessing.InRouteConfigurator");
78 return "InRouteConfigurator";
82 stream <<
"scope = " <<
d->scope <<
", connectors = " <<
d->connectors
83 <<
", eventReceivingStrategy = " <<
d->eventReceivingStrategy
84 <<
", shutdown = " <<
d->shutdown;
88 std::set<std::string> result;
89 for (ConnectorSet::iterator it =
d->connectors.begin();
90 it !=
d->connectors.end(); ++it) {
91 result.insert((*it)->getTransportURL());
97 RSCDEBUG(
d->logger,
"Activating");
100 for (ConnectorSet::iterator it =
d->connectors.begin(); it
101 !=
d->connectors.end(); ++it) {
102 (*it)->setScope(
d->scope);
112 RSCDEBUG(
d->logger,
"Deactivating");
115 for (ConnectorSet::iterator it =
d->connectors.begin(); it
116 !=
d->connectors.end(); ++it) {
121 d->eventReceivingStrategy.reset();
126 return d->receivingStrategyConfig;
130 return d->eventReceivingStrategy;
134 return d->connectors;
138 RSCDEBUG(
d->logger,
"Adding connector " << connector);
139 d->connectors.insert(connector);
143 RSCDEBUG(
d->logger,
"Removing connector " << connector);
144 d->connectors.erase(connector);
148 for (ConnectorSet::iterator it =
d->connectors.begin(); it
149 !=
d->connectors.end(); ++it) {
152 d->eventReceivingStrategy->addFilter(filter);
156 for (ConnectorSet::iterator it =
d->connectors.begin(); it
157 !=
d->connectors.end(); ++it) {
160 d->eventReceivingStrategy->removeFilter(filter);
165 for (ConnectorSet::iterator it =
d->connectors.begin(); it
166 !=
d->connectors.end(); ++it) {
167 (*it)->setQualityOfServiceSpecs(specs);
Specification of desired quality of service settings for sending and receiving events.
void filterRemoved(filter::FilterPtr filter)
void printContents(std::ostream &stream) const
std::string getClassName() const
const ParticipantConfig::EventProcessingStrategy & getReceivingStrategyConfig() const
A filter shall be added to the FilterObserver.
virtual EventReceivingStrategyPtr createEventReceivingStrategy()=0
void filterAdded(filter::FilterPtr filter)
A filter shall be remove from the observer.
const std::set< std::string > getTransportURLs() const
ConnectorSet getConnectors()
void setQualityOfServiceSpecs(const QualityOfServiceSpec &specs)
Define the desired quality of service specifications for published events.
Impl(const ParticipantConfig::EventProcessingStrategy &receivingStrategyConfig)
boost::shared_ptr< Filter > FilterPtr
void addConnector(transport::InConnectorPtr connector)
std::set< transport::InConnectorPtr > ConnectorSet
virtual void deactivate()
ParticipantConfig::EventProcessingStrategy receivingStrategyConfig
boost::shared_ptr< EventReceivingStrategy > EventReceivingStrategyPtr
rsc::logging::LoggerPtr logger
void removeConnector(transport::InConnectorPtr connector)
Instances of this class describe the selection and configuration of an event processing strategy...
EventReceivingStrategyPtr getEventReceivingStrategy() const
A class describing the configuration of Participant instances.
EventReceivingStrategyPtr eventReceivingStrategy
boost::shared_ptr< InConnector > InConnectorPtr
Scope is a descriptor for a hierarchical channel of the unified bus.
boost::scoped_ptr< Impl > d
virtual ~InRouteConfigurator()