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

#include <reliableradio.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  connections
struct  information

Public Types

enum  Events { MSG_DROPPED = 1, MSG_ACK_RCVD = 2 }
enum  SpecialNodeIds { BROADCAST_ADDRESS = Radio::BROADCAST_ADDRESS, NULL_NODE_ID = Radio::NULL_NODE_ID }
enum  Restrictions { MAX_MESSAGE_LENGTH = ReliableMessage::MAX_MESSAGE_LENGTH }
typedef OsModel_P OsModel
typedef Radio_P Radio
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 ReliableMsg< OsModel,
Radio
ReliableMessage
typedef delegate4< void,
uint8_t, node_id_t, size_t,
block_data_t * > 
event_notifier_delegate_t
typedef struct information information_t
typedef Debug_P Debug
typedef Timer_P Timer
typedef wiselib::vector_static
< OsModel, pair< information,
ReliableMessage >, MAX_PENDING > 
vector_t
typedef ReliableRadio
< OsModel_P, Radio_P, Timer_P,
Debug_P > 
self_t
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

void init (Radio &radio, Timer &timer, Debug &debug)
 ReliableRadio ()
 ~ReliableRadio ()
void enable_radio ()
void disable_radio ()
template<class T , void(T::*)(uint8_t, node_id_t, size_t, block_data_t *) TMethod>
void send_callback (node_id_t from, size_t len, block_data_t *data, T *obj_pnt)
int send (node_id_t id, size_t len, block_data_t *data)
int add_message (int msg_id, node_id_t destination, uint8_t len, uint8_t *data)
void time_passes (void *)
void reliable_daemon (void *)
int find_postition ()
void receive (node_id_t from, size_t len, block_data_t *data)
void set_ack_list (ReliableMessage *m, int sd)
int check_connection (node_id_t sender)
bool was_received (int sd, uint16_t seq_no)
void set_max_retries (int max_retries)
int max_retries ()
int acked_messages ()
node_id_t id ()
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)

template<typename OsModel_P, typename Radio_P, typename Timer_P, typename Debug_P>
class wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >


Member Typedef Documentation

template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
typedef Radio::block_data_t wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_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 Timer_P , typename Debug_P >
typedef Debug_P wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::Debug
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
typedef delegate4<void, uint8_t, node_id_t, size_t, block_data_t*> wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::event_notifier_delegate_t
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
typedef struct information wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::information_t
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
typedef Radio::message_id_t wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::message_id_t
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
typedef Radio::node_id_t wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::node_id_t
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
typedef OsModel_P wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::OsModel
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
typedef Radio_P wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_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 Timer_P , typename Debug_P >
typedef ReliableMsg< OsModel,Radio> wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::ReliableMessage
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
typedef ReliableRadio<OsModel_P, Radio_P, Timer_P, Debug_P> wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::self_t
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
typedef Radio::size_t wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::size_t
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
typedef Timer_P wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::Timer
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
typedef wiselib::vector_static<OsModel, pair<information, ReliableMessage>, MAX_PENDING> wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::vector_t

Member Enumeration Documentation

template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
enum wiselib::ReliableRadio::Events
Enumerator:
MSG_DROPPED 
MSG_ACK_RCVD 
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
enum wiselib::ReliableRadio::Restrictions
Enumerator:
MAX_MESSAGE_LENGTH 

Maximal number of bytes in payload.

template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
enum wiselib::ReliableRadio::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 Timer_P , typename Debug_P >
wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::ReliableRadio ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::~ReliableRadio ( ) [inline]

Member Function Documentation

template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
int wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::acked_messages ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
int wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::add_message ( int  msg_id,
node_id_t  destination,
uint8_t  len,
uint8_t data 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
int wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::check_connection ( node_id_t  sender) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
void wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::disable_radio ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
void wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::enable_radio ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
int wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::find_postition ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
node_id_t wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::id ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
void wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::init ( Radio radio,
Timer timer,
Debug debug 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
int wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::max_retries ( ) [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 Timer_P , typename Debug_P >
void wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::receive ( node_id_t  from,
size_t  len,
block_data_t data 
) [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 Timer_P , typename Debug_P >
void wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::reliable_daemon ( void *  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
int wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::send ( node_id_t  id,
size_t  len,
block_data_t data 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
template<class T , void(T::*)(uint8_t, node_id_t, size_t, block_data_t *) TMethod>
void wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::send_callback ( node_id_t  from,
size_t  len,
block_data_t data,
T *  obj_pnt 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
void wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::set_ack_list ( ReliableMessage m,
int  sd 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
void wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::set_max_retries ( int  max_retries) [inline]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
void wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::time_passes ( void *  ) [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]
template<typename OsModel_P , typename Radio_P , typename Timer_P , typename Debug_P >
bool wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >::was_received ( int  sd,
uint16_t  seq_no 
) [inline]

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