22 #ifndef __M2ETIS_PUBSUB_FILTER_BASEFILTER_H__
23 #define __M2ETIS_PUBSUB_FILTER_BASEFILTER_H__
30 #include "boost/shared_ptr.hpp"
45 template<
typename EventType,
typename NetworkType>
116 virtual bool match(PayloadPtr event) = 0;
118 virtual void setSelf(
const typename NetworkType::Key &
self) = 0;
virtual void setSelf(const typename NetworkType::Key &self)=0
FilterUnsubscribeInformation
boost::shared_ptr< EventType > PayloadPtr
boost::shared_ptr< FilterInfo > Ptr
virtual std::string processSubscribePayload(const typename NetworkType::Key &sender_key, typename message::FilterInfo::Ptr filterInfo)=0
processes the set of received filters from sender
virtual void getSubscribePayload(boost::shared_ptr< FilterExp< EventType > > filter, bool is_periodic_resubscribe, typename message::FilterInfo::Ptr filterInfo)=0
processes the new filter
virtual void processUnsubscribePayload(const typename NetworkType::Key &sender_key, typename message::FilterInfo::Ptr filterInfo)=0
removes all filters of the sender with the key given
virtual std::string getPublishPayload(const PayloadPtr message_text) const =0
prefilter or preprocess the message and give other nodes a hint (currently not used) ...
virtual bool match(const typename NetworkType::Key &to, typename message::FilterInfo::Ptr filterInfo, PayloadPtr event)=0
matches against dynamic filters of subscriber call this function to filter before forwarding event to...
virtual void processRoutingStrategyUnsubscribeNotification(const typename NetworkType::Key &sender_key)=0
removes all filters of the sender with the key given intended for routing strategies to signal purged...
virtual void getUnsubscribePayload(typename message::FilterInfo::Ptr filterInfo)=0
removes all filters