m2etis  0.4
m2etis::pubsub::filter::DecisionTreeFilter< EventType, NetworkType > Class Template Reference

#include <AttributeTypeInformation.h>

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

Public Types

enum  { size }
 
typedef message::DecisionTreeFilterInfo< EventType, NetworkType > FilterInfoType
 
- Public Types inherited from m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >
enum  FilterUnsubscribeInformation { FORWARDUNSUBSCRIBE, UNSUBSCRIBEFROMTREE, CANCELUNSUBSCRIBE }
 
typedef boost::shared_ptr< EventType > PayloadPtr
 

Public Member Functions

 DecisionTreeFilter ()
 
virtual ~DecisionTreeFilter ()
 
virtual void getSubscribePayload (boost::shared_ptr< FilterExp< EventType > > filter, bool is_periodic_resubscribe, typename message::FilterInfo::Ptr filterInfo) override
 processes the new filter More...
 
virtual void getUnsubscribePayload (typename message::FilterInfo::Ptr filterInfo) override
 removes all filters More...
 
BaseFilter< EventType, NetworkType >::FilterUnsubscribeInformation getUnsubscribePayload (typename message::FilterInfo::Ptr filterInfo, boost::shared_ptr< FilterExp< EventType > > filter)
 deregisters individual filter returns information whether to More...
 
virtual std::string getPublishPayload (const typename BaseFilter< EventType, NetworkType >::PayloadPtr message_text) const override
 
virtual std::string processSubscribePayload (const typename NetworkType::Key &sender, typename message::FilterInfo::Ptr filterInfo) override
 processes the set of received filters from sender More...
 
virtual void processUnsubscribePayload (const typename NetworkType::Key &sender, typename message::FilterInfo::Ptr filterInfo) override
 removes all filters of the sender with the key given More...
 
virtual void processRoutingStrategyUnsubscribeNotification (const typename NetworkType::Key &sender) override
 removes all filters of the sender with the key given intended for routing strategies to signal purged subscribers More...
 
bool match (const typename NetworkType::Key &to, typename message::FilterInfo::Ptr filterInfo, typename BaseFilter< EventType, NetworkType >::PayloadPtr event)
 
bool match (typename BaseFilter< EventType, NetworkType >::PayloadPtr event)
 
void setSelf (const typename NetworkType::Key &self)
 
- Public Member Functions inherited from m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >
 BaseFilter ()
 
virtual ~BaseFilter ()
 
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 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...
 

Detailed Description

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

Definition at line 67 of file AttributeTypeInformation.h.

Member Typedef Documentation

template<typename EventType, typename NetworkType>
typedef message::DecisionTreeFilterInfo<EventType, NetworkType> m2etis::pubsub::filter::DecisionTreeFilter< EventType, NetworkType >::FilterInfoType

Definition at line 67 of file DecisionTreeFilter.h.

Constructor & Destructor Documentation

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

Definition at line 72 of file DecisionTreeFilter.h.

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

Definition at line 75 of file DecisionTreeFilter.h.

Member Function Documentation

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

Definition at line 143 of file DecisionTreeFilter.h.

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

processes the new filter

Implements m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >.

Definition at line 78 of file DecisionTreeFilter.h.

Here is the call graph for this function:

template<typename EventType, typename NetworkType>
virtual void m2etis::pubsub::filter::DecisionTreeFilter< EventType, NetworkType >::getUnsubscribePayload ( typename message::FilterInfo::Ptr  filterInfo)
inlineoverridevirtual

removes all filters

Implements m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >.

Definition at line 100 of file DecisionTreeFilter.h.

template<typename EventType, typename NetworkType>
BaseFilter<EventType, NetworkType>::FilterUnsubscribeInformation m2etis::pubsub::filter::DecisionTreeFilter< EventType, NetworkType >::getUnsubscribePayload ( typename message::FilterInfo::Ptr  filterInfo,
boost::shared_ptr< FilterExp< EventType > >  filter 
)
inlinevirtual

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)

Implements m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >.

Definition at line 109 of file DecisionTreeFilter.h.

Here is the call graph for this function:

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

Definition at line 186 of file DecisionTreeFilter.h.

Here is the caller graph for this function:

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

Definition at line 201 of file DecisionTreeFilter.h.

Here is the call graph for this function:

template<typename EventType, typename NetworkType>
virtual void m2etis::pubsub::filter::DecisionTreeFilter< EventType, NetworkType >::processRoutingStrategyUnsubscribeNotification ( const typename NetworkType::Key &  sender_key)
inlineoverridevirtual

removes all filters of the sender with the key given intended for routing strategies to signal purged subscribers

Implements m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >.

Definition at line 181 of file DecisionTreeFilter.h.

template<typename EventType, typename NetworkType>
virtual std::string m2etis::pubsub::filter::DecisionTreeFilter< EventType, NetworkType >::processSubscribePayload ( const typename NetworkType::Key &  sender_key,
typename message::FilterInfo::Ptr  filterInfo 
)
inlineoverridevirtual

processes the set of received filters from sender

Implements m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >.

Definition at line 147 of file DecisionTreeFilter.h.

Here is the call graph for this function:

template<typename EventType, typename NetworkType>
virtual void m2etis::pubsub::filter::DecisionTreeFilter< EventType, NetworkType >::processUnsubscribePayload ( const typename NetworkType::Key &  sender_key,
typename message::FilterInfo::Ptr  filterInfo 
)
inlineoverridevirtual

removes all filters of the sender with the key given

Implements m2etis::pubsub::filter::BaseFilter< EventType, NetworkType >.

Definition at line 176 of file DecisionTreeFilter.h.

template<typename EventType, typename NetworkType>
void m2etis::pubsub::filter::DecisionTreeFilter< EventType, NetworkType >::setSelf ( const typename NetworkType::Key &  self)
inlinevirtual

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