22 #ifndef __M2ETIS_PUBSUB_PARTITION_NULLPARTITION_H__
23 #define __M2ETIS_PUBSUB_PARTITION_NULLPARTITION_H__
27 #include "boost/assign/list_of.hpp"
33 template<
typename NetworkType,
typename EventType>
53 std::vector<int> ret(1);
57 std::vector<int>::size_type
getPublishTree(
const PayloadPtr,
const typename NetworkType::Key &) {
62 std::vector<unsigned int> overlapping_trees;
63 overlapping_trees.push_back(
ALL);
64 return overlapping_trees;
67 boost::shared_ptr<filter::FilterExp<EventType>>
getPredicate(
size_t) {
68 return boost::shared_ptr<filter::FilterExp<EventType>>();
static const bool DYNAMIC_PARTITION
std::vector< unsigned int > getSubscribeTrees(boost::shared_ptr< filter::FilterExp< EventType >>)
returns the tree indices of all trees matching the predicate to subscribe on (static & dynamic) ...
boost::shared_ptr< filter::FilterExp< EventType > > getPredicate(size_t)
returns the predicate for the given partition id (dynamic)
void createRendezvousPartition(const typename NetworkType::Key &)
creates a base partition for the RP (dynamic)
void changeRoot(size_t, typename NetworkType::Key &)
bool createPartition(const typename NetworkType::Key &)
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)
std::vector< int > getTreeNames()
returns amount of partitions this strategy contains (static & dynamic)
std::vector< int >::size_type getPublishTree(const PayloadPtr, const typename NetworkType::Key &)
returns the tree index the given node with the given payload should publish on (static & dynamic) ...
boost::shared_ptr< EventType > PayloadPtr
void addPartition(boost::shared_ptr< filter::FilterExp< EventType >>, const typename NetworkType::Key &)
void removePartition(size_t)
removes the partition with the given id (dynamic)
void changePredicate(size_t, boost::shared_ptr< filter::FilterExp< EventType >>)
changes the filter predicate for the partition with the given id (dynamic)