Wiselib
Public Types | Public Member Functions
wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P > Class Template Reference

AutoCast routing implementation of Routing Concept. More...

#include <autocast_algorithm.h>

Inherits wiselib::RoutingBase< OsModel_P, Radio_P >.

List of all members.

Public Types

enum  ErrorCodes { SUCCESS = OsModel::SUCCESS, ERR_UNSPEC = OsModel::ERR_UNSPEC, ERR_NOTIMPL = OsModel::ERR_NOTIMPL, ERR_HOSTUNREACH = OsModel::ERR_HOSTUNREACH }
enum  SpecialNodeIds { BROADCAST_ADDRESS = Radio_P::BROADCAST_ADDRESS, NULL_NODE_ID = Radio_P::NULL_NODE_ID }
typedef OsModel_P OsModel
typedef Radio_P Radio
typedef Timer_P Timer
typedef Debug_P Debug
typedef AutoCast< OsModel,
Radio_P, Timer, Debug
self_type
typedef self_typeself_pointer_t
typedef Radio::node_id_t node_id_t
typedef Radio::size_t size_t
typedef Radio::block_data_t block_data_t
typedef Radio::message_id_t message_id_t
typedef Timer::millis_t millis_t
typedef
wiselib::AutoCast_Message
< OsModel, Radio, Debug
Message
typedef DataUnit< Os, RadiodataUnit_t
typedef delegate1< uint8_t,
dataUnit_t * > 
radio_delegate_t
typedef uint8_t hash_Value_t
typedef wiselib::vector_static
< Os, dataUnit_t,
MAX_VECTOR_SIZE > 
dataUnit_list_t
typedef wiselib::vector_static
< Os, dataUnit_t
*, MAX_VECTOR_SIZE > 
dataUnit_list_ptr_t
typedef wiselib::vector_static
< Os, hash_Value_t,
MAX_VECTOR_SIZE > 
dataHash_list_t
typedef dataUnit_list_t::iterator iterator_dataUnit
typedef dataHash_list_t::iterator iterator_dataHash
typedef
wiselib::TriSOSClockModel< Os
c_time_t
enum  ReturnValues
typedef vector_static< OsModel,
radio_delegate_t,
MAX_RECEIVERS > 
CallbackVector
typedef CallbackVector::iterator CallbackVectorIterator

Public Member Functions

int init (Radio &radio, Timer &timer, Debug &debug)
template<class T , uint8_t(T::*)(dataUnit_t *) TMethod>
int reg_getstate_callback (T *obj_pnt)
int unreg_state_callback ()
uint8_t notify_getstate (dataUnit_t *du)
int init ()
int destruct ()
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)
Construction / Destruction
 AutoCast ()
 ~AutoCast ()
Routing Control
int enable_radio (void)
int disable_radio (void)
Radio Concept
int send (node_id_t receiver, size_t len, block_data_t *data)
void receive (node_id_t from, size_t len, block_data_t *data)
Radio::node_id_t id ()

Detailed Description

template<typename OsModel_P, typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
class wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >

AutoCast routing implementation of Routing Concept.

AutoCast routing implementation of Routing Concept ...


Member Typedef Documentation

template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef Radio::block_data_t wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::block_data_t
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef wiselib::TriSOSClockModel<Os> wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::c_time_t
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef wiselib::vector_static<Os, hash_Value_t, MAX_VECTOR_SIZE> wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::dataHash_list_t
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef wiselib::vector_static<Os, dataUnit_t*, MAX_VECTOR_SIZE> wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::dataUnit_list_ptr_t
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef wiselib::vector_static<Os, dataUnit_t, MAX_VECTOR_SIZE> wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::dataUnit_list_t
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef DataUnit<Os, Radio> wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::dataUnit_t
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef Debug_P wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::Debug
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef uint8_t wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::hash_Value_t
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef dataHash_list_t::iterator wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::iterator_dataHash
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef dataUnit_list_t::iterator wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::iterator_dataUnit
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef wiselib::AutoCast_Message<OsModel, Radio, Debug> wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::Message
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef Radio::message_id_t wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::message_id_t
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef Timer::millis_t wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::millis_t
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef Radio::node_id_t wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::node_id_t
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef OsModel_P wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::OsModel
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef Radio_P wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::Radio
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef delegate1<uint8_t, dataUnit_t*> wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::radio_delegate_t
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef self_type* wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::self_pointer_t
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef AutoCast<OsModel, Radio_P, Timer, Debug> wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::self_type
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef Radio::size_t wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::size_t
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
typedef Timer_P wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::Timer

Member Enumeration Documentation

template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
enum wiselib::AutoCast::ErrorCodes
Enumerator:
SUCCESS 
ERR_UNSPEC 
ERR_NOTIMPL 
ERR_HOSTUNREACH 
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
enum wiselib::AutoCast::SpecialNodeIds
Enumerator:
BROADCAST_ADDRESS 

All nodes in communication range.

NULL_NODE_ID 

Unknown/No node id.


Constructor & Destructor Documentation

template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::AutoCast ( )
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::~AutoCast ( )

Member Function Documentation

template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
int wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::destruct ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
int wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::disable_radio ( void  )
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
int wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::enable_radio ( void  )
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
Radio::node_id_t wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::id ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
int wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::init ( void  ) [inline]
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
int wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::init ( Radio radio,
Timer timer,
Debug debug 
) [inline]
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
uint8_t wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::notify_getstate ( dataUnit_t du) [inline]
void wiselib::RadioBase< OsModel_P, Radio_P::node_id_t , Radio_P::size_t , Radio_P::block_data_t , 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 Timer_P , typename Debug_P >
void wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::receive ( node_id_t  from,
size_t  len,
block_data_t data 
)
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
template<class T , uint8_t(T::*)(dataUnit_t *) TMethod>
int wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::reg_getstate_callback ( T *  obj_pnt) [inline]
int wiselib::RadioBase< OsModel_P, Radio_P::node_id_t , Radio_P::size_t , Radio_P::block_data_t , MAX_RECEIVERS >::reg_recv_callback ( T *  obj_pnt) [inline, inherited]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
int wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::send ( node_id_t  receiver,
size_t  len,
block_data_t data 
)
int wiselib::RadioBase< OsModel_P, Radio_P::node_id_t , Radio_P::size_t , Radio_P::block_data_t , MAX_RECEIVERS >::unreg_recv_callback ( int  idx) [inline, inherited]
template<typename OsModel_P , typename Radio_P = typename OsModel_P::Radio, typename Timer_P = typename OsModel_P::Timer, typename Debug_P = typename OsModel_P::Debug>
int wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >::unreg_state_callback ( ) [inline]

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