Wiselib
Classes | Public Types | Public Member Functions | Protected Member Functions
wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P > Class Template Reference

#include <cluster_radio.h>

Inherits wiselib::RadioBase< OsModel_P, Radio_P::node_id_t, Radio_P::size_t, Radio_P::block_data_t >.

List of all members.

Classes

struct  ND_payload
struct  RTentry

Public Types

enum  SpecialNodeIds { BROADCAST_ADDRESS = Radio::BROADCAST_ADDRESS, NULL_NODE_ID = Radio::NULL_NODE_ID }
enum  event_ids { ADD_ROUTE = 1, REMOVE_ROUTE = 2 }
typedef OsModel_P OsModel
typedef Radio_P Radio
typedef OsModel::Timer Timer
typedef OsModel::Debug Debug
typedef Clustering_P Clustering
typedef ND_P ND
typedef ClusterRadio
< OsModel_P, Radio_P, ND_P,
Clustering_P > 
self_type
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 RTentry RTentry_t
typedef ND_payload ND_payload_t
typedef delegate4< void,
uint8_t, node_id_t,
cluster_id_t, node_id_t
notify_delegate_t
typedef vector_static< OsModel,
notify_delegate_t,
MAX_EVENT_RECEIVERS > 
NotifyCallbackVector
typedef
NotifyCallbackVector::iterator 
NotifyCallbackVectorIterator
enum  ReturnValues
typedef delegate3< void,
node_id_t, size_t,
block_data_t * > 
radio_delegate_t
typedef vector_static< OsModel,
radio_delegate_t,
RADIO_BASE_MAX_RECEIVERS > 
CallbackVector
typedef CallbackVector::iterator CallbackVectorIterator

Public Member Functions

 ClusterRadio ()
 ~ClusterRadio ()
void init (Radio &radiot, Timer &timert, Debug &debugt, ND &nd, Clustering &clusteringt)
void reg_debug_callback ()
template<class T , void(T::*)(uint8_t, node_id_t, cluster_id_t, node_id_t) TMethod>
uint8_t reg_event_callback (T *obj_pnt)
int unreg_event_callback (int idx)
void notify_listeners (uint8_t event, node_id_t from, cluster_id_t cluster, node_id_t link)
void present_neighbors (void)
void enable ()
int connections ()
void clean_lists (void *a)
void send (cluster_id_t destination, size_t len, uint8_t *msg)
void disable (void)
int reg_recv_callback (T *obj_pnt)
int unreg_recv_callback (int idx)
void notify_receivers (node_id_t from, size_t len, block_data_t *data)

Protected Member Functions

void nd_callback (uint8_t event, node_id_t link, uint8_t len, uint8_t *data)
void notify_cradio (uint8_t event, cluster_id_t cluster, node_id_t link)
bool routeExists (cluster_id_t cluster)
bool addRoute (cluster_id_t cluster, node_id_t link, uint8_t dista)
void send2head (node_id_t destination, size_t len, uint8_t *msg)
void receive (node_id_t from, size_t len, block_data_t *data)
void reset (int event)

template<typename OsModel_P, typename Radio_P, typename ND_P, typename Clustering_P>
class wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >


Member Typedef Documentation

template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef Radio::block_data_t wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::block_data_t
typedef vector_static<OsModel, radio_delegate_t, RADIO_BASE_MAX_RECEIVERS > wiselib::RadioBase< OsModel_P, Radio_P::node_id_t , Radio_P::size_t , Radio_P::block_data_t , RADIO_BASE_MAX_RECEIVERS >::CallbackVector [inherited]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef node_id_t wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::cluster_id_t
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef uint16_t wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::cluster_level_t
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef Clustering_P wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::Clustering
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef OsModel::Debug wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::Debug
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef ND_P wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::ND
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef ND_payload wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::ND_payload_t
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef Radio::node_id_t wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::node_id_t
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef delegate4<void, uint8_t, node_id_t, cluster_id_t, node_id_t> wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::notify_delegate_t
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef vector_static<OsModel, notify_delegate_t, MAX_EVENT_RECEIVERS> wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::NotifyCallbackVector
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef NotifyCallbackVector::iterator wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::NotifyCallbackVectorIterator
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef OsModel_P wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::OsModel
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef Radio_P wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::Radio
typedef delegate3<void, node_id_t, size_t, block_data_t*> wiselib::RadioBase< OsModel_P, Radio_P::node_id_t , Radio_P::size_t , Radio_P::block_data_t , RADIO_BASE_MAX_RECEIVERS >::radio_delegate_t [inherited]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef RTentry wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::RTentry_t
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef ClusterRadio<OsModel_P, Radio_P, ND_P, Clustering_P> wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::self_type
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef Radio::size_t wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::size_t
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
typedef OsModel::Timer wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::Timer

Member Enumeration Documentation

template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
enum wiselib::ClusterRadio::event_ids
Enumerator:
ADD_ROUTE 
REMOVE_ROUTE 
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
enum wiselib::ClusterRadio::SpecialNodeIds
Enumerator:
BROADCAST_ADDRESS 

All nodes in communication rnage.

NULL_NODE_ID 

Unknown/No node id.


Constructor & Destructor Documentation

template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::ClusterRadio ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::~ClusterRadio ( ) [inline]

Member Function Documentation

template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
bool wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::addRoute ( cluster_id_t  cluster,
node_id_t  link,
uint8_t  dista 
) [inline, protected]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
void wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::clean_lists ( void *  a) [inline]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
int wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::connections ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
void wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::disable ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
void wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::enable ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
void wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::init ( Radio radiot,
Timer timert,
Debug debugt,
ND nd,
Clustering clusteringt 
) [inline]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
void wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::nd_callback ( uint8_t  event,
node_id_t  link,
uint8_t  len,
uint8_t data 
) [inline, protected]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
void wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::notify_cradio ( uint8_t  event,
cluster_id_t  cluster,
node_id_t  link 
) [inline, protected]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
void wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::notify_listeners ( uint8_t  event,
node_id_t  from,
cluster_id_t  cluster,
node_id_t  link 
) [inline]
void wiselib::RadioBase< OsModel_P, Radio_P::node_id_t , Radio_P::size_t , Radio_P::block_data_t , RADIO_BASE_MAX_RECEIVERS >::notify_receivers ( node_id_t  from,
size_t  len,
block_data_t data 
) [inline, inherited]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
void wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::present_neighbors ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
void wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::receive ( node_id_t  from,
size_t  len,
block_data_t data 
) [inline, protected]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
void wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::reg_debug_callback ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
template<class T , void(T::*)(uint8_t, node_id_t, cluster_id_t, node_id_t) TMethod>
uint8_t wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::reg_event_callback ( T *  obj_pnt) [inline]
int wiselib::RadioBase< OsModel_P, Radio_P::node_id_t , Radio_P::size_t , Radio_P::block_data_t , RADIO_BASE_MAX_RECEIVERS >::reg_recv_callback ( T *  obj_pnt) [inline, inherited]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
void wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::reset ( int  event) [inline, protected]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
bool wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::routeExists ( cluster_id_t  cluster) [inline, protected]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
void wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::send ( cluster_id_t  destination,
size_t  len,
uint8_t msg 
) [inline]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
void wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::send2head ( node_id_t  destination,
size_t  len,
uint8_t msg 
) [inline, protected]
template<typename OsModel_P , typename Radio_P , typename ND_P , typename Clustering_P >
int wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >::unreg_event_callback ( int  idx) [inline]
int wiselib::RadioBase< OsModel_P, Radio_P::node_id_t , Radio_P::size_t , Radio_P::block_data_t , RADIO_BASE_MAX_RECEIVERS >::unreg_recv_callback ( int  idx) [inline, inherited]

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