Wiselib
Classes | Public Types | Public Member Functions | Static Public Member Functions
wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P > Class Template Reference

K-neigh symmetric topology control implementation of Topology ConceptK-neigh symmetric topology control implementation of Topology Concept. More...

#include <kneigh_symmetric_topology_control.h>

Inherits wiselib::TopologyBase< OsModel_P >.

List of all members.

Classes

class  CompareListEntries

Public Types

typedef OsModel_P OsModel
typedef Distance_P Distance
typedef Radio_P Radio
typedef Timer_P Timer
typedef Rand_P Rand
typedef KneighProtocol
< OsModel_P, K, Distance_P,
Radio_P, Timer_P, Rand_P > 
self_type
typedef Radio::node_id_t node_id_t
typedef Radio::size_t size_t
typedef Radio::block_data_t block_data_t
typedef Radio::ExtendedData ExtendedData
typedef Timer::millis_t millis_t
typedef vector_static< OsModel,
node_id_t, K > 
Neighbors
typedef delegate0< void > topology_delegate_t

Public Member Functions

Neighborstopology ()
void set_delta (register millis_t const delta=s_delta_def)
millis_t delta () const
void set_d (register millis_t const d=s_d_def)
millis_t d () const
void set_tau (register millis_t const tau=s_tau_def)
millis_t tau () const
void set_prune (register bool const prune=s_prune_def)
bool prune () const
void set_alpha (register int const alpha=s_alpha_def)
int alpha () const
void init (Radio &radio, Timer &timer)
void destruct ()
template<class T , void(T::*)() TMethod>
void reg_listener_callback (T *obj_pnt)
template<void(*)() TMethod>
void reg_listener_callback ()
void unreg_listener_callback (void)
void notify_listeners ()
Construction / Destruction
 KneighProtocol ()
Routing Control
void enable ()
void disable ()

Static Public Member Functions

static void set_default_delta (millis_t const delta=DELTA_DEF)
static millis_t default_delta ()
static void set_default_d (millis_t const d=D_DEF)
static millis_t default_d ()
static void set_default_tau (millis_t const tau=TAU_DEF)
static millis_t default_tau ()
static void set_default_prune (bool const prune=PRUNE_DEF)
static bool default_prune ()
static void set_default_alpha (int const alpha=ALPHA_DEF)
static int default_alpha ()

Detailed Description

template<class OsModel_P, typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
class wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >

K-neigh symmetric topology control implementation of Topology Concept

K-neigh symmetric topology control implementation of Topology Concept.


Member Typedef Documentation

template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
typedef Radio::block_data_t wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::block_data_t
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
typedef Distance_P wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::Distance
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
typedef Radio::ExtendedData wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::ExtendedData
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
typedef Timer::millis_t wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::millis_t
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
typedef vector_static<OsModel,node_id_t,K> wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::Neighbors
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
typedef Radio::node_id_t wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::node_id_t
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
typedef OsModel_P wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::OsModel
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
typedef Radio_P wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::Radio
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
typedef Rand_P wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::Rand
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
typedef KneighProtocol<OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P> wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::self_type
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
typedef Radio::size_t wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::size_t
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
typedef Timer_P wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::Timer
template<typename OsModel_P >
typedef delegate0<void> wiselib::TopologyBase< OsModel_P >::topology_delegate_t [inherited]

Constructor & Destructor Documentation

template<class OsModel_P , typename OsModel_P::size_t K, class Distance_P , class Radio_P , class Timer_P , class Rand_P >
wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::KneighProtocol ( )

Member Function Documentation

template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
int wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::alpha ( ) const [inline]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
millis_t wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::d ( ) const [inline]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
static int wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::default_alpha ( ) [inline, static]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
static millis_t wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::default_d ( ) [inline, static]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
static millis_t wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::default_delta ( ) [inline, static]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
static bool wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::default_prune ( ) [inline, static]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
static millis_t wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::default_tau ( ) [inline, static]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
millis_t wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::delta ( ) const [inline]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
void wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::destruct ( void  ) [inline]
template<class OsModel_P , typename OsModel_P::size_t K, class Distance_P , class Radio_P , class Timer_P , class Rand_P >
void wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::disable ( void  )
template<class OsModel_P , typename OsModel_P::size_t K, class Distance_P , class Radio_P , class Timer_P , class Rand_P >
void wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::enable ( void  )
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
void wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::init ( Radio radio,
Timer timer 
) [inline]
template<typename OsModel_P >
void wiselib::TopologyBase< OsModel_P >::notify_listeners ( ) [inline, inherited]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
bool wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::prune ( ) const [inline]
template<typename OsModel_P >
template<void(*)() TMethod>
void wiselib::TopologyBase< OsModel_P >::reg_listener_callback ( ) [inline, inherited]
template<typename OsModel_P >
template<class T , void(T::*)() TMethod>
void wiselib::TopologyBase< OsModel_P >::reg_listener_callback ( T *  obj_pnt) [inline, inherited]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
void wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::set_alpha ( register int const  alpha = s_alpha_def) [inline]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
void wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::set_d ( register millis_t const  d = s_d_def) [inline]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
static void wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::set_default_alpha ( int const  alpha = ALPHA_DEF) [inline, static]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
static void wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::set_default_d ( millis_t const  d = D_DEF) [inline, static]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
static void wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::set_default_delta ( millis_t const  delta = DELTA_DEF) [inline, static]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
static void wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::set_default_prune ( bool const  prune = PRUNE_DEF) [inline, static]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
static void wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::set_default_tau ( millis_t const  tau = TAU_DEF) [inline, static]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
void wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::set_delta ( register millis_t const  delta = s_delta_def) [inline]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
void wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::set_prune ( register bool const  prune = s_prune_def) [inline]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
void wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::set_tau ( register millis_t const  tau = s_tau_def) [inline]
template<class OsModel_P , typename OsModel_P::size_t K = 9, class Distance_P = uint16_t, class Radio_P = typename OsModel_P::Radio, class Timer_P = typename OsModel_P::Timer, class Rand_P = typename OsModel_P::Rand>
millis_t wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::tau ( ) const [inline]
template<class OsModel_P , typename OsModel_P::size_t K, class Distance_P , class Radio_P , class Timer_P , class Rand_P >
KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::Neighbors & wiselib::KneighProtocol< OsModel_P, K, Distance_P, Radio_P, Timer_P, Rand_P >::topology ( )
template<typename OsModel_P >
void wiselib::TopologyBase< OsModel_P >::unreg_listener_callback ( void  ) [inline, inherited]

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