m2etis  0.4
m2etis::pubsub::order::DetMergeOrder< NetworkType, Config > Class Template Reference

Implements the Deterministic Merge Order Strategy. More...

#include <DetMergeOrder.h>

Inheritance diagram for m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >:
Inheritance graph

Public Types

typedef message::DetMergeOrderInfo< Config > OrderInfoType
 

Public Member Functions

 DetMergeOrder (PubSubSystemEnvironment *pssi, bool b)
 Constructor. More...
 
virtual ~DetMergeOrder ()
 Destructor. More...
 
bool hasPending ()
 returns whether there are messages waiting More...
 
bool configureOrderInfo (uint64_t id, const message::ActionType mtype, typename message::OrderInfo::Ptr ptr, const typename NetworkType::Key &)
 configure Infos This functions sets all necessary information for this message More...
 
bool processControlPayload (typename message::OrderInfo::Ptr, const typename NetworkType::Key &)
 process Control Messages They are only used to sync More...
 
void processSubscribePayload (typename message::OrderInfo::Ptr, const typename NetworkType::Key &)
 this strategie doesn't care about subscribes More...
 
void processPublishPayload (typename message::OrderInfo::Ptr, const typename NetworkType::Key &)
 this strategie doesn't care about publish payloads here More...
 
void processNotifyPayload (typename message::OrderInfo::Ptr, const typename NetworkType::Key &)
 called for every NotifyMsg that arrived More...
 
void otherOrders (const std::vector< DetMergeOrder * > &)
 this strategie doesn't need the other trees More...
 
void receive (uint64_t id, typename message::OrderInfo::Ptr ptr, const typename NetworkType::Key &)
 called when a message is received This function updates the internal state of this strategie and pushes the msg in a queue More...
 
bool updatePhyClock ()
 
void notifyRemovedMessage (typename message::OrderInfo::Ptr, const typename NetworkType::Key &)
 notified when message dropped by filter or validity strategy More...
 
- Public Member Functions inherited from m2etis::pubsub::order::BaseOrder< NetworkType >
 BaseOrder (PubSubSystemEnvironment *pssi, bool isRoot)
 
virtual ~BaseOrder ()
 
void configureCallback (const boost::function< void(uint64_t, msgProcess)> &func)
 used to set the function to be called when a message should be send to the next processing stage call this function with the id given in receive() to deliver the appropriate message More...
 
void setHn (const typename NetworkType::Key &self)
 sets the hostname of the current node More...
 
void configureSendCallback (const boost::function< void(message::OrderInfo::Ptr, const typename NetworkType::Key &, ControlTarget)> &func)
 with this function, new messages can be sent directly to nodes More...
 
void setRoot (bool b)
 sets whether this node is the root node. Several strategies need this to determind the sequencer More...
 

Additional Inherited Members

- Protected Attributes inherited from m2etis::pubsub::order::BaseOrder< NetworkType >
PubSubSystemEnvironmentpssi_
 
bool isRoot_
 true if this node is the root node More...
 
NetworkType::Key hn
 hostname of the node More...
 
boost::function< void(uint64_t, msgProcess)> function_
 stores the function to be called for delivering More...
 
boost::function< void(message::OrderInfo::Ptr, const typename NetworkType::Key &, ControlTarget)> sendMsg_
 stores the function to send new messages This function will send a newly created control message containing the given OrderStruct to the specified sender. The Tree ensures that this message will be sent to the specified receiver and will not be processed by any other strategie. More...
 

Detailed Description

template<class NetworkType, class Config>
class m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >

Implements the Deterministic Merge Order Strategy.

Definition at line 41 of file DetMergeOrder.h.

Member Typedef Documentation

template<class NetworkType , class Config >
typedef message::DetMergeOrderInfo<Config> m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >::OrderInfoType

Definition at line 54 of file DetMergeOrder.h.

Constructor & Destructor Documentation

template<class NetworkType , class Config >
m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >::DetMergeOrder ( PubSubSystemEnvironment pssi,
bool  b 
)
inline

Constructor.

Definition at line 59 of file DetMergeOrder.h.

Here is the call graph for this function:

template<class NetworkType , class Config >
virtual m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >::~DetMergeOrder ( )
inlinevirtual

Destructor.

Definition at line 67 of file DetMergeOrder.h.

Here is the call graph for this function:

Member Function Documentation

template<class NetworkType , class Config >
bool m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >::configureOrderInfo ( uint64_t  id,
const message::ActionType  mtype,
typename message::OrderInfo::Ptr  ptr,
const typename NetworkType::Key &   
)
inlinevirtual

configure Infos This functions sets all necessary information for this message

Implements m2etis::pubsub::order::BaseOrder< NetworkType >.

Definition at line 82 of file DetMergeOrder.h.

Here is the call graph for this function:

template<class NetworkType , class Config >
bool m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >::hasPending ( )
inlinevirtual

returns whether there are messages waiting

Implements m2etis::pubsub::order::BaseOrder< NetworkType >.

Definition at line 74 of file DetMergeOrder.h.

template<class NetworkType , class Config >
void m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >::notifyRemovedMessage ( typename message::OrderInfo::Ptr  ,
const typename NetworkType::Key &   
)
inlinevirtual

notified when message dropped by filter or validity strategy

Implements m2etis::pubsub::order::BaseOrder< NetworkType >.

Definition at line 186 of file DetMergeOrder.h.

template<class NetworkType , class Config >
void m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >::otherOrders ( const std::vector< DetMergeOrder< NetworkType, Config > * > &  )
inline

this strategie doesn't need the other trees

Definition at line 138 of file DetMergeOrder.h.

template<class NetworkType , class Config >
bool m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >::processControlPayload ( typename message::OrderInfo::Ptr  ,
const typename NetworkType::Key &   
)
inlinevirtual

process Control Messages They are only used to sync

Implements m2etis::pubsub::order::BaseOrder< NetworkType >.

Definition at line 112 of file DetMergeOrder.h.

template<class NetworkType , class Config >
void m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >::processNotifyPayload ( typename message::OrderInfo::Ptr  ,
const typename NetworkType::Key &   
)
inlinevirtual

called for every NotifyMsg that arrived

Implements m2etis::pubsub::order::BaseOrder< NetworkType >.

Definition at line 132 of file DetMergeOrder.h.

template<class NetworkType , class Config >
void m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >::processPublishPayload ( typename message::OrderInfo::Ptr  ,
const typename NetworkType::Key &   
)
inlinevirtual

this strategie doesn't care about publish payloads here

Implements m2etis::pubsub::order::BaseOrder< NetworkType >.

Definition at line 126 of file DetMergeOrder.h.

template<class NetworkType , class Config >
void m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >::processSubscribePayload ( typename message::OrderInfo::Ptr  ,
const typename NetworkType::Key &   
)
inlinevirtual

this strategie doesn't care about subscribes

Implements m2etis::pubsub::order::BaseOrder< NetworkType >.

Definition at line 120 of file DetMergeOrder.h.

template<class NetworkType , class Config >
void m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >::receive ( uint64_t  id,
typename message::OrderInfo::Ptr  ptr,
const typename NetworkType::Key &   
)
inlinevirtual

called when a message is received This function updates the internal state of this strategie and pushes the msg in a queue

Implements m2etis::pubsub::order::BaseOrder< NetworkType >.

Definition at line 145 of file DetMergeOrder.h.

Here is the call graph for this function:

template<class NetworkType , class Config >
bool m2etis::pubsub::order::DetMergeOrder< NetworkType, Config >::updatePhyClock ( )
inline

Definition at line 170 of file DetMergeOrder.h.

Here is the call graph for this function:

Here is the caller graph for this function:


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