m2etis  0.4
m2etis::pubsub::filter::BaseFilter< EventType, NetworkType > Class Template Referenceabstract

#include <BaseFilter.h>

Inheritance diagram for m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >:
Inheritance graph

Public Types

enum  FilterUnsubscribeInformation { FORWARDUNSUBSCRIBE, UNSUBSCRIBEFROMTREE, CANCELUNSUBSCRIBE }
 
typedef boost::shared_ptr< EventType > PayloadPtr
 

Public Member Functions

 BaseFilter ()
 
virtual ~BaseFilter ()
 
virtual void getSubscribePayload (boost::shared_ptr< FilterExp< EventType > > filter, bool is_periodic_resubscribe, typename message::FilterInfo::Ptr filterInfo)=0
 processes the new filter More...
 
virtual void getUnsubscribePayload (typename message::FilterInfo::Ptr filterInfo)=0
 removes all filters More...
 
virtual FilterUnsubscribeInformation getUnsubscribePayload (typename message::FilterInfo::Ptr filterInfo, boost::shared_ptr< FilterExp< EventType > > filter)=0
 deregisters individual filter returns information whether to More...
 
virtual std::string getPublishPayload (const PayloadPtr message_text) const =0
 prefilter or preprocess the message and give other nodes a hint (currently not used) More...
 
virtual std::string processSubscribePayload (const typename NetworkType::Key &sender_key, typename message::FilterInfo::Ptr filterInfo)=0
 processes the set of received filters from sender More...
 
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 More...
 
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 subscribers More...
 
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 subscriber More...
 
virtual bool match (PayloadPtr event)=0
 matches against own dynamic_filters call this function to filter before delivering to application More...
 
virtual void setSelf (const typename NetworkType::Key &self)=0
 

Detailed Description

template<typename EventType, typename NetworkType>
class m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >

Definition at line 46 of file BaseFilter.h.

Member Typedef Documentation

template<typename EventType, typename NetworkType>
typedef boost::shared_ptr<EventType> m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >::PayloadPtr

Definition at line 48 of file BaseFilter.h.

Constructor & Destructor Documentation

template<typename EventType, typename NetworkType>
m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >::BaseFilter ( )
inline

Definition at line 49 of file BaseFilter.h.

template<typename EventType, typename NetworkType>
virtual m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >::~BaseFilter ( )
inlinevirtual

Definition at line 51 of file BaseFilter.h.

Member Function Documentation

template<typename EventType, typename NetworkType>
virtual std::string m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >::getPublishPayload ( const PayloadPtr  message_text) const
pure virtual

prefilter or preprocess the message and give other nodes a hint (currently not used)

template<typename EventType, typename NetworkType>
virtual void m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >::getSubscribePayload ( boost::shared_ptr< FilterExp< EventType > >  filter,
bool  is_periodic_resubscribe,
typename message::FilterInfo::Ptr  filterInfo 
)
pure virtual
template<typename EventType, typename NetworkType>
virtual void m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >::getUnsubscribePayload ( typename message::FilterInfo::Ptr  filterInfo)
pure virtual
template<typename EventType, typename NetworkType>
virtual FilterUnsubscribeInformation m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >::getUnsubscribePayload ( typename message::FilterInfo::Ptr  filterInfo,
boost::shared_ptr< FilterExp< EventType > >  filter 
)
pure virtual

deregisters individual filter returns information whether to

  • unsubscribe from the tree (if last filter has been deregistered)

    and whether

  • the unsubscribe message has to be forwarded (only if no subscriber of this node has registered the same filter)

Implemented in m2etis::pubsub::filter::DecisionTreeFilter< EventType, NetworkType >.

template<typename EventType, typename NetworkType>
virtual bool m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >::match ( const typename NetworkType::Key &  to,
typename message::FilterInfo::Ptr  filterInfo,
PayloadPtr  event 
)
pure virtual

matches against dynamic filters of subscriber call this function to filter before forwarding event to subscriber

template<typename EventType, typename NetworkType>
virtual bool m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >::match ( PayloadPtr  event)
pure virtual

matches against own dynamic_filters call this function to filter before delivering to application

template<typename EventType, typename NetworkType>
virtual void m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >::processRoutingStrategyUnsubscribeNotification ( const typename NetworkType::Key &  sender_key)
pure virtual
template<typename EventType, typename NetworkType>
virtual std::string m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >::processSubscribePayload ( const typename NetworkType::Key &  sender_key,
typename message::FilterInfo::Ptr  filterInfo 
)
pure virtual
template<typename EventType, typename NetworkType>
virtual void m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >::processUnsubscribePayload ( const typename NetworkType::Key &  sender_key,
typename message::FilterInfo::Ptr  filterInfo 
)
pure virtual
template<typename EventType, typename NetworkType>
virtual void m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >::setSelf ( const typename NetworkType::Key &  self)
pure virtual

The documentation for this class was generated from the following file: