m2etis  0.4
m2etis::pubsub::order::NullOrder< NetworkType > Class Template Reference

This class implements the NullOrder Strategy This Strategy does nothing for ordering. All Messages are forwarded as fast as possible. More...

#include <NullOrder.h>

Inheritance diagram for m2etis::pubsub::order::NullOrder< NetworkType >:
Inheritance graph

Public Types

typedef message::NullOrderInfo OrderInfoType
 

Public Member Functions

 NullOrder (PubSubSystemEnvironment *pssi, bool b)
 
virtual ~NullOrder ()
 
bool hasPending ()
 there are never pending messages More...
 
bool configureOrderInfo (uint64_t id, const message::ActionType, typename message::OrderInfo::Ptr, const typename NetworkType::Key &)
 no extra informations need to be stored More...
 
void processSubscribePayload (typename message::OrderInfo::Ptr, const typename NetworkType::Key &)
 nothing has to be done on arrival More...
 
void processPublishPayload (typename message::OrderInfo::Ptr, const typename NetworkType::Key &)
 nothing has to be done on arrival More...
 
void processNotifyPayload (typename message::OrderInfo::Ptr, const typename NetworkType::Key &)
 called for every NotifyMsg that arrived More...
 
bool processControlPayload (typename message::OrderInfo::Ptr, const typename NetworkType::Key &)
 nothing has to be done on arrival More...
 
void otherOrders (const std::vector< NullOrder * > &)
 this function is used to get the pointers to all other NullOrder instances of this Channel (other trees) They are needed for multi-group ordering More...
 
void receive (uint64_t id, typename message::OrderInfo::Ptr, const typename NetworkType::Key &)
 deliver the message as soon as it arrived More...
 
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 m2etis::pubsub::order::NullOrder< NetworkType >

This class implements the NullOrder Strategy This Strategy does nothing for ordering. All Messages are forwarded as fast as possible.

Definition at line 37 of file NullOrder.h.

Member Typedef Documentation

template<class NetworkType >
typedef message::NullOrderInfo m2etis::pubsub::order::NullOrder< NetworkType >::OrderInfoType

Definition at line 39 of file NullOrder.h.

Constructor & Destructor Documentation

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

Definition at line 41 of file NullOrder.h.

template<class NetworkType >
virtual m2etis::pubsub::order::NullOrder< NetworkType >::~NullOrder ( )
inlinevirtual

Definition at line 42 of file NullOrder.h.

Member Function Documentation

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

no extra informations need to be stored

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

Definition at line 54 of file NullOrder.h.

template<class NetworkType >
bool m2etis::pubsub::order::NullOrder< NetworkType >::hasPending ( )
inlinevirtual

there are never pending messages

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

Definition at line 47 of file NullOrder.h.

template<class NetworkType >
void m2etis::pubsub::order::NullOrder< NetworkType >::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 103 of file NullOrder.h.

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

this function is used to get the pointers to all other NullOrder instances of this Channel (other trees) They are needed for multi-group ordering

Definition at line 89 of file NullOrder.h.

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

nothing has to be done on arrival

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

Definition at line 81 of file NullOrder.h.

template<class NetworkType >
void m2etis::pubsub::order::NullOrder< NetworkType >::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 75 of file NullOrder.h.

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

nothing has to be done on arrival

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

Definition at line 69 of file NullOrder.h.

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

nothing has to be done on arrival

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

Definition at line 63 of file NullOrder.h.

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

deliver the message as soon as it arrived

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

Definition at line 95 of file NullOrder.h.


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