m2etis  0.4
m2etis::pubsub::deliver::BaseDeliver< NetworkType > Class Template Referenceabstract

#include <BaseDeliver.h>

Inheritance diagram for m2etis::pubsub::deliver::BaseDeliver< NetworkType >:
Inheritance graph

Public Member Functions

 BaseDeliver (PubSubSystemEnvironment *pssi)
 
virtual ~BaseDeliver ()
 
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 configureSendCallback (const boost::function< void(message::DeliverInfo::Ptr, const typename NetworkType::Key &, ControlTarget)> &func)
 with this function, new messages can be sent directly to nodes More...
 
virtual void configureDeliverInfo (uint64_t id, const message::ActionType mtype, typename message::DeliverInfo::Ptr ptr, const typename NetworkType::Key &receiver, message::ControlType ct)=0
 creates the DeliverInfo More...
 
virtual bool processPublishPayload (typename message::DeliverInfo::Ptr ptr, const typename NetworkType::Key &sender)=0
 creates the DeliverInfo More...
 
virtual bool processOtherControlPayload (typename message::DeliverInfo::Ptr ptr, const typename NetworkType::Key &sender)=0
 creates the DeliverInfo More...
 
virtual bool processControlPayload (typename message::DeliverInfo::Ptr ptr, const typename NetworkType::Key &sender)=0
 creates the DeliverInfo More...
 
virtual bool processNotifyPayload (typename message::DeliverInfo::Ptr ptr, const typename NetworkType::Key &sender)=0
 creates the DeliverInfo More...
 
virtual bool processSubscribePayload (typename message::DeliverInfo::Ptr ptr, const typename NetworkType::Key &sender)=0
 creates the DeliverInfo More...
 
virtual bool processUnsubscribePayload (typename message::DeliverInfo::Ptr ptr, const typename NetworkType::Key &sender)=0
 processes Control Messages (id got acked) More...
 

Protected Attributes

PubSubSystemEnvironmentpssi_
 PubSubSystemEnvironment. More...
 
boost::function< void(uint64_t, msgProcess)> process_
 stores the function to be called for delivering More...
 
boost::function< void(message::DeliverInfo::Ptr, typename NetworkType::Key, ControlTarget)> sendCtrlMsg_
 stores the function to send new messages This function will send a newly created control message containing the given DeliverStruct 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::deliver::BaseDeliver< NetworkType >

Definition at line 41 of file BaseDeliver.h.

Constructor & Destructor Documentation

template<class NetworkType >
m2etis::pubsub::deliver::BaseDeliver< NetworkType >::BaseDeliver ( PubSubSystemEnvironment pssi)
inlineexplicit

Definition at line 43 of file BaseDeliver.h.

template<class NetworkType >
virtual m2etis::pubsub::deliver::BaseDeliver< NetworkType >::~BaseDeliver ( )
inlinevirtual

Definition at line 45 of file BaseDeliver.h.

Member Function Documentation

template<class NetworkType >
void m2etis::pubsub::deliver::BaseDeliver< NetworkType >::configureCallback ( const boost::function< void(uint64_t, msgProcess)> &  func)
inline

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

Definition at line 51 of file BaseDeliver.h.

template<class NetworkType >
virtual void m2etis::pubsub::deliver::BaseDeliver< NetworkType >::configureDeliverInfo ( uint64_t  id,
const message::ActionType  mtype,
typename message::DeliverInfo::Ptr  ptr,
const typename NetworkType::Key &  receiver,
message::ControlType  ct 
)
pure virtual
template<class NetworkType >
void m2etis::pubsub::deliver::BaseDeliver< NetworkType >::configureSendCallback ( const boost::function< void(message::DeliverInfo::Ptr, const typename NetworkType::Key &, ControlTarget)> &  func)
inline

with this function, new messages can be sent directly to nodes

Definition at line 58 of file BaseDeliver.h.

template<class NetworkType >
virtual bool m2etis::pubsub::deliver::BaseDeliver< NetworkType >::processControlPayload ( typename message::DeliverInfo::Ptr  ptr,
const typename NetworkType::Key &  sender 
)
pure virtual
template<class NetworkType >
virtual bool m2etis::pubsub::deliver::BaseDeliver< NetworkType >::processNotifyPayload ( typename message::DeliverInfo::Ptr  ptr,
const typename NetworkType::Key &  sender 
)
pure virtual
template<class NetworkType >
virtual bool m2etis::pubsub::deliver::BaseDeliver< NetworkType >::processOtherControlPayload ( typename message::DeliverInfo::Ptr  ptr,
const typename NetworkType::Key &  sender 
)
pure virtual
template<class NetworkType >
virtual bool m2etis::pubsub::deliver::BaseDeliver< NetworkType >::processPublishPayload ( typename message::DeliverInfo::Ptr  ptr,
const typename NetworkType::Key &  sender 
)
pure virtual
template<class NetworkType >
virtual bool m2etis::pubsub::deliver::BaseDeliver< NetworkType >::processSubscribePayload ( typename message::DeliverInfo::Ptr  ptr,
const typename NetworkType::Key &  sender 
)
pure virtual
template<class NetworkType >
virtual bool m2etis::pubsub::deliver::BaseDeliver< NetworkType >::processUnsubscribePayload ( typename message::DeliverInfo::Ptr  ptr,
const typename NetworkType::Key &  sender 
)
pure virtual

Member Data Documentation

template<class NetworkType >
boost::function<void(uint64_t, msgProcess)> m2etis::pubsub::deliver::BaseDeliver< NetworkType >::process_
protected

stores the function to be called for delivering

  1. Parameter (int): specifies the message id that should be further processed

Definition at line 107 of file BaseDeliver.h.

template<class NetworkType >
PubSubSystemEnvironment* m2etis::pubsub::deliver::BaseDeliver< NetworkType >::pssi_
protected

PubSubSystemEnvironment.

Definition at line 101 of file BaseDeliver.h.

template<class NetworkType >
boost::function<void(message::DeliverInfo::Ptr, typename NetworkType::Key, ControlTarget)> m2etis::pubsub::deliver::BaseDeliver< NetworkType >::sendCtrlMsg_
protected

stores the function to send new messages This function will send a newly created control message containing the given DeliverStruct 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.

  1. Parameter (DeliverInfo::Ptr): Pointer to the DeliverStruct to be used
  2. Parameter (string): Name of the target. This can either be a real node identifier or "root" to send directly to the root of this tree

Definition at line 117 of file BaseDeliver.h.


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