Wiselib
Public Types | Public Member Functions | Protected Member Functions
wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P > Class Template Reference

Fronts clustering core component. More...

#include <fronts_core.h>

Inherits wiselib::ClusteringBase< OsModel_P >.

List of all members.

Public Types

typedef OsModel_P OsModel
typedef Radio_P Radio
typedef OsModel::Timer Timer
typedef OsModel::Debug Debug
typedef OsModel::Rand Rand
typedef HeadDecision_P HeadDecision_t
typedef JoinDecision_P JoinDecision_t
typedef Iterator_P Iterator_t
typedef FrontsCore< OsModel_P,
Radio_P, HeadDecision_P,
JoinDecision_P, Iterator_P > 
self_type
typedef wiselib::Echo< OsModel,
Radio, Timer, Debug
nb_t
typedef Radio::node_id_t node_id_t
typedef node_id_t cluster_id_t
typedef Radio::size_t size_t
typedef Radio::block_data_t block_data_t
typedef uint16_t cluster_level_t
typedef delegate3< void,
uint8_t, cluster_id_t,
node_id_t
cradio_delegate_t
enum  ReturnValues
typedef delegate1< void, int > cluster_delegate_t
typedef vector_static< OsModel,
cluster_delegate_t, 5 > 
CallbackVector
typedef CallbackVector::iterator CallbackVectorIterator

Public Member Functions

 FrontsCore ()
 ~FrontsCore ()
void init (Radio &radiot, Timer &timert, Debug &debugt, Rand &randt, nb_t &neighbor_discovery)
void set_iterator (Iterator_t &it)
void set_join_decision (JoinDecision_t &jd)
void set_cluster_head_decision (HeadDecision_t &chd)
void set_maxhops (uint8_t maxhops)
cluster_id_t cluster_id (void)
node_id_t parent (void)
uint8_t hops (void)
int node_type (void)
int childs_count ()
void childs (node_id_t *list)
size_t node_count (int type)
bool is_gateway ()
bool is_cluster_head ()
void register_debug_callback ()
uint8_t status ()
size_t beacon_size ()
void receive_beacon (node_id_t node_from, size_t len, uint8_t *data)
void get_beacon (uint8_t *mess)
void present_neighbors (void)
void enable ()
void enable (int start_in)
void reform_cluster (void *parameter)
void form_cluster (void *parameter)
void disable (void)
void wait2form_cluster (void *timer_value)
void find_head (void *value)
template<class T , void(T::*)(uint8_t, node_id_t, node_id_t) TMethod>
uint8_t reg_notify_cradio (T *obj_pnt)
node_id_t get_next_node_to_child (node_id_t dest)
int reg_state_changed_callback (T *obj_pnt)
int unreg_state_changed_callback (int idx)
void state_changed (int event)

Protected Member Functions

void node_lost (node_id_t node)
void cluster_state_changed (int event) throw ()
void receive (node_id_t from, size_t len, block_data_t *recvm)
void notify_cradio (uint8_t event, cluster_id_t from, node_id_t to)
void wait_for_joins (void *data)
void reset_beacon_payload ()
void ND_callback (uint8_t event, node_id_t from, uint8_t len, uint8_t *data)

Detailed Description

template<typename OsModel_P, typename Radio_P, typename HeadDecision_P, typename JoinDecision_P, typename Iterator_P>
class wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >

Fronts clustering core component.


Member Typedef Documentation

template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef Radio::block_data_t wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::block_data_t
typedef delegate1<void, int> wiselib::ClusteringBase< OsModel_P, 5 >::cluster_delegate_t [inherited]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef node_id_t wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::cluster_id_t
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef uint16_t wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::cluster_level_t
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef delegate3<void, uint8_t, cluster_id_t, node_id_t> wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::cradio_delegate_t
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef OsModel::Debug wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::Debug
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef HeadDecision_P wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::HeadDecision_t
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef Iterator_P wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::Iterator_t
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef JoinDecision_P wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::JoinDecision_t
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef wiselib::Echo<OsModel, Radio, Timer, Debug> wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::nb_t
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef Radio::node_id_t wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::node_id_t
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef OsModel_P wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::OsModel
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef Radio_P wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::Radio
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef OsModel::Rand wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::Rand
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef FrontsCore<OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P> wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::self_type
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef Radio::size_t wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::size_t
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
typedef OsModel::Timer wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::Timer

Member Enumeration Documentation


Constructor & Destructor Documentation

template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::FrontsCore ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::~FrontsCore ( ) [inline]

Member Function Documentation

template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
size_t wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::beacon_size ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::childs ( node_id_t list) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
int wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::childs_count ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
cluster_id_t wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::cluster_id ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::cluster_state_changed ( int  event) throw () [inline, protected]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::disable ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::enable ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::enable ( int  start_in) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::find_head ( void *  value) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::form_cluster ( void *  parameter) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::get_beacon ( uint8_t mess) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
node_id_t wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::get_next_node_to_child ( node_id_t  dest) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
uint8_t wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::hops ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::init ( Radio radiot,
Timer timert,
Debug debugt,
Rand randt,
nb_t neighbor_discovery 
) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
bool wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::is_cluster_head ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
bool wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::is_gateway ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::ND_callback ( uint8_t  event,
node_id_t  from,
uint8_t  len,
uint8_t data 
) [inline, protected]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
size_t wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::node_count ( int  type) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::node_lost ( node_id_t  node) [inline, protected]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
int wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::node_type ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::notify_cradio ( uint8_t  event,
cluster_id_t  from,
node_id_t  to 
) [inline, protected]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
node_id_t wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::parent ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::present_neighbors ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::receive ( node_id_t  from,
size_t  len,
block_data_t recvm 
) [inline, protected]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::receive_beacon ( node_id_t  node_from,
size_t  len,
uint8_t data 
) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::reform_cluster ( void *  parameter) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
template<class T , void(T::*)(uint8_t, node_id_t, node_id_t) TMethod>
uint8_t wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::reg_notify_cradio ( T *  obj_pnt) [inline]
int wiselib::ClusteringBase< OsModel_P, 5 >::reg_state_changed_callback ( T *  obj_pnt) [inline, inherited]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::register_debug_callback ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::reset_beacon_payload ( ) [inline, protected]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::set_cluster_head_decision ( HeadDecision_t chd) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::set_iterator ( Iterator_t it) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::set_join_decision ( JoinDecision_t jd) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::set_maxhops ( uint8_t  maxhops) [inline]
void wiselib::ClusteringBase< OsModel_P, 5 >::state_changed ( int  event) [inline, inherited]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
uint8_t wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::status ( ) [inline]
int wiselib::ClusteringBase< OsModel_P, 5 >::unreg_state_changed_callback ( int  idx) [inline, inherited]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::wait2form_cluster ( void *  timer_value) [inline]
template<typename OsModel_P , typename Radio_P , typename HeadDecision_P , typename JoinDecision_P , typename Iterator_P >
void wiselib::FrontsCore< OsModel_P, Radio_P, HeadDecision_P, JoinDecision_P, Iterator_P >::wait_for_joins ( void *  data) [inline, protected]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines