m2etis  0.4
m2etis::pubsub::partition::BasePartition< NetworkType, EventType > Class Template Referenceabstract

#include <BasePartition.h>

Inheritance diagram for m2etis::pubsub::partition::BasePartition< NetworkType, EventType >:
Inheritance graph

Public Types

typedef boost::shared_ptr< EventType > PayloadPtr
 

Public Member Functions

 BasePartition ()
 
virtual ~BasePartition ()
 
virtual void createRendezvousPartition (const typename NetworkType::Key &rendezvous)=0
 creates a base partition for the RP (dynamic) More...
 
virtual std::vector< int > getTreeNames ()=0
 returns amount of partitions this strategy contains (static & dynamic) More...
 
virtual std::vector< int >::size_type getPublishTree (const PayloadPtr message, const typename NetworkType::Key &self)=0
 returns the tree index the given node with the given payload should publish on (static & dynamic) More...
 
virtual std::vector< unsigned int > getSubscribeTrees (boost::shared_ptr< filter::FilterExp< EventType >> dynamic_filter)=0
 returns the tree indices of all trees matching the predicate to subscribe on (static & dynamic) More...
 
virtual boost::shared_ptr< filter::FilterExp< EventType > > getPredicate (size_t id)=0
 returns the predicate for the given partition id (dynamic) More...
 
virtual bool createPartition (const typename NetworkType::Key &root)=0
 can create a new partition for this channel if a new node (root) joins, return true, if a new partition was created, otherwise false (dynamic) More...
 
virtual void addPartition (boost::shared_ptr< filter::FilterExp< EventType > > predicate, const typename NetworkType::Key &root)=0
 adds a new partition to the strategy at nodes not being RP (dynamic) More...
 
virtual void removePartition (size_t id)=0
 removes the partition with the given id (dynamic) More...
 
virtual void changePredicate (size_t id, boost::shared_ptr< filter::FilterExp< EventType >> predicates)=0
 changes the filter predicate for the partition with the given id (dynamic) More...
 
virtual void changeRoot (size_t id, typename NetworkType::Key &root)=0
 
virtual std::string toString ()
 

Detailed Description

template<typename NetworkType, typename EventType>
class m2etis::pubsub::partition::BasePartition< NetworkType, EventType >

Definition at line 32 of file BasePartition.h.

Member Typedef Documentation

template<typename NetworkType, typename EventType>
typedef boost::shared_ptr<EventType> m2etis::pubsub::partition::BasePartition< NetworkType, EventType >::PayloadPtr

Definition at line 34 of file BasePartition.h.

Constructor & Destructor Documentation

template<typename NetworkType, typename EventType>
m2etis::pubsub::partition::BasePartition< NetworkType, EventType >::BasePartition ( )
inline

Definition at line 36 of file BasePartition.h.

template<typename NetworkType, typename EventType>
virtual m2etis::pubsub::partition::BasePartition< NetworkType, EventType >::~BasePartition ( )
inlinevirtual

Definition at line 39 of file BasePartition.h.

Member Function Documentation

template<typename NetworkType, typename EventType>
virtual void m2etis::pubsub::partition::BasePartition< NetworkType, EventType >::addPartition ( boost::shared_ptr< filter::FilterExp< EventType > >  predicate,
const typename NetworkType::Key &  root 
)
pure virtual

adds a new partition to the strategy at nodes not being RP (dynamic)

template<typename NetworkType, typename EventType>
virtual void m2etis::pubsub::partition::BasePartition< NetworkType, EventType >::changePredicate ( size_t  id,
boost::shared_ptr< filter::FilterExp< EventType >>  predicates 
)
pure virtual
template<typename NetworkType, typename EventType>
virtual bool m2etis::pubsub::partition::BasePartition< NetworkType, EventType >::createPartition ( const typename NetworkType::Key &  root)
pure virtual
template<typename NetworkType, typename EventType>
virtual void m2etis::pubsub::partition::BasePartition< NetworkType, EventType >::createRendezvousPartition ( const typename NetworkType::Key &  rendezvous)
pure virtual
template<typename NetworkType, typename EventType>
virtual boost::shared_ptr<filter::FilterExp<EventType> > m2etis::pubsub::partition::BasePartition< NetworkType, EventType >::getPredicate ( size_t  id)
pure virtual
template<typename NetworkType, typename EventType>
virtual std::vector<int>::size_type m2etis::pubsub::partition::BasePartition< NetworkType, EventType >::getPublishTree ( const PayloadPtr  message,
const typename NetworkType::Key &  self 
)
pure virtual
template<typename NetworkType, typename EventType>
virtual std::vector<unsigned int> m2etis::pubsub::partition::BasePartition< NetworkType, EventType >::getSubscribeTrees ( boost::shared_ptr< filter::FilterExp< EventType >>  dynamic_filter)
pure virtual

returns the tree indices of all trees matching the predicate to subscribe on (static & dynamic)

Implemented in m2etis::pubsub::partition::NullPartition< NetworkType, EventType >.

template<typename NetworkType, typename EventType>
virtual std::vector<int> m2etis::pubsub::partition::BasePartition< NetworkType, EventType >::getTreeNames ( )
pure virtual
template<typename NetworkType, typename EventType>
virtual void m2etis::pubsub::partition::BasePartition< NetworkType, EventType >::removePartition ( size_t  id)
pure virtual
template<typename NetworkType, typename EventType>
virtual std::string m2etis::pubsub::partition::BasePartition< NetworkType, EventType >::toString ( )
inlinevirtual

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