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

DSR routing implementation of Routing ConceptDSR routing implementation of Routing Concept ... More...

#include <aodv_routing.h>

Inherits wiselib::RoutingBase< OsModel_P, Radio_P >.

List of all members.

Classes

struct  retry_info
struct  rreq_info

Public Types

enum  { MAX_PATH_LENGTH = RoutingTableValue::MAX_PATH_LENGTH }
enum  SpecialNodeIds { BROADCAST_ADDRESS = Radio_P::BROADCAST_ADDRESS, NULL_NODE_ID = Radio_P::NULL_NODE_ID }
enum  Restrictions { MAX_MESSAGE_LENGTH = Radio_P::MAX_MESSAGE_LENGTH - RouteDiscoveryMessage::PAYLOAD_POS }
typedef OsModel_P OsModel
typedef Radio_P Radio
typedef Debug_P Debug
typedef OsModel_P::Timer Timer
typedef RoutingTable_P RoutingTable
typedef RoutingTable::iterator RoutingTableIterator
typedef RoutingTable::mapped_type RoutingTableValue
typedef RoutingTable::value_type RoutingTableEntry
typedef RoutingTableValue::Path Path
typedef AODVRouting< OsModel,
RoutingTable, Radio, Debug
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 Timer::millis_t millis_t
typedef
AODVRouteDiscoveryMessage
< OsModel, Radio, Path
RouteDiscoveryMessage
typedef map< uint8_t,
RouteDiscoveryMessage
pending_msgs_t
enum  ReturnValues
typedef delegate3< void,
node_id_t, size_t,
block_data_t * > 
radio_delegate_t
typedef vector_static< OsModel,
radio_delegate_t,
MAX_RECEIVERS > 
CallbackVector
typedef CallbackVector::iterator CallbackVectorIterator

Public Member Functions

void proc_rreq (node_id_t from, RouteDiscoveryMessage &message)
void proc_rrep (node_id_t from, RouteDiscoveryMessage &message)
void proc_err (node_id_t from, RouteDiscoveryMessage &message)
void proc_data (node_id_t from, RouteDiscoveryMessage &message)
bool route_exists (node_id_t destination)
void check_pending_messages (uint16_t destination)
void table_cleanup ()
void init_path_disc ()
void resend_rreq (uint16_t dest)
void pend_dest_cleanup ()
void broadcaster ()
void neighbors_cleanup ()
void init (Radio &radio, Timer &timer, Debug &debug)
void 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
 AODVRouting ()
 ~AODVRouting ()
Routing Control
void enable_radio (void)
void disable_radio (void)
Methods called by Timer
void timer_elapsed (void *userdata)
Radio Concept
void 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 RoutingTable_P, typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
class wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >

DSR routing implementation of Routing Concept

DSR routing implementation of Routing Concept ...


Member Typedef Documentation

template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef Radio::block_data_t wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::block_data_t
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef Debug_P wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::Debug
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef Timer::millis_t wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::millis_t
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef Radio::node_id_t wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::node_id_t
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef OsModel_P wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::OsModel
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef RoutingTableValue::Path wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::Path
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef map<uint8_t, RouteDiscoveryMessage> wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::pending_msgs_t
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef Radio_P wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_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 , MAX_RECEIVERS >::radio_delegate_t [inherited]
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef AODVRouteDiscoveryMessage<OsModel, Radio, Path> wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::RouteDiscoveryMessage
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef RoutingTable_P wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::RoutingTable
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef RoutingTable::value_type wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::RoutingTableEntry
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef RoutingTable::iterator wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::RoutingTableIterator
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef RoutingTable::mapped_type wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::RoutingTableValue
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef AODVRouting<OsModel, RoutingTable, Radio, Debug> wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::self_type
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef Radio::size_t wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::size_t
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
typedef OsModel_P::Timer wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::Timer

Member Enumeration Documentation

template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
anonymous enum
Enumerator:
MAX_PATH_LENGTH 
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
enum wiselib::AODVRouting::Restrictions
Enumerator:
MAX_MESSAGE_LENGTH 

Maximal number of bytes in payload.

template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
enum wiselib::AODVRouting::SpecialNodeIds
Enumerator:
BROADCAST_ADDRESS 

All nodes in communication range.

NULL_NODE_ID 

Unknown/No node id.


Constructor & Destructor Documentation

template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::AODVRouting ( )
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::~AODVRouting ( )

Member Function Documentation

template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::broadcaster ( )
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::check_pending_messages ( uint16_t  destination)
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::destruct ( void  ) [inline]
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::disable_radio ( void  )
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::enable_radio ( void  )
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
Radio::node_id_t wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::id ( void  ) [inline]
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::init ( Radio radio,
Timer timer,
Debug debug 
) [inline]
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P = typename OsModel_P::Radio, typename Debug_P = typename OsModel_P::Debug>
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::init_path_disc ( )
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::neighbors_cleanup ( )
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 RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::pend_dest_cleanup ( )
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::proc_data ( node_id_t  from,
RouteDiscoveryMessage message 
)
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::proc_err ( node_id_t  from,
RouteDiscoveryMessage message 
)
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::proc_rrep ( node_id_t  from,
RouteDiscoveryMessage message 
)
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::proc_rreq ( node_id_t  from,
RouteDiscoveryMessage message 
)
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::receive ( node_id_t  from,
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 >::reg_recv_callback ( T *  obj_pnt) [inline, inherited]
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::resend_rreq ( uint16_t  dest)
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
bool wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::route_exists ( node_id_t  destination)
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::send ( node_id_t  receiver,
size_t  len,
block_data_t data 
)
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::table_cleanup ( )
template<typename OsModel_P , typename RoutingTable_P , typename Radio_P , typename Debug_P >
void wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >::timer_elapsed ( void *  userdata)
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]

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