Wiselib
Public Types | Public Member Functions
wiselib::RadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS > Class Template Reference

Base radio class. More...

#include <radio_base.h>

Inherited by wiselib::ExtendedRadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS, ExtendedData_P >.

List of all members.

Public Types

enum  ReturnValues { SUCCESS = OsModel::SUCCESS }
typedef OsModel_P OsModel
typedef NodeId_P node_id_t
typedef Size_P size_t
typedef BlockData_P block_data_t
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

template<class T , void(T::*)(node_id_t, size_t, block_data_t *) TMethod>
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)

Detailed Description

template<typename OsModel_P, typename NodeId_P, typename Size_P, typename BlockData_P, int MAX_RECEIVERS = RADIO_BASE_MAX_RECEIVERS>
class wiselib::RadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS >

Base radio class.

Basic radio class that provides helpful methods like registration of callbacks.


Member Typedef Documentation

template<typename OsModel_P, typename NodeId_P, typename Size_P, typename BlockData_P, int MAX_RECEIVERS = RADIO_BASE_MAX_RECEIVERS>
typedef BlockData_P wiselib::RadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS >::block_data_t

Reimplemented in wiselib::DsdvRouting< OsModel_P, RoutingTable_P, Radio_P, Timer_P, Debug_P >, wiselib::DsrRouting< OsModel_P, RoutingTable_P, Radio_P >, wiselib::TreeRouting< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >, wiselib::DiffieHellmanAlgorithm< OsModel_P, Routing_P, NodeidIntMap_P, Radio_P, Debug_P >, wiselib::DummyApp< OsModel_P, Encryption_P, Radio_P, Debug_P >, wiselib::EschenauerGligorAlgorithm< OsModel_P, Routing_P, NodeidIntMap_P, Radio_P, Debug_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >, wiselib::TTLFlooding< OsModel_P, Radio_P, Debug_P, SEEN_MESSAGE_SET_SIZE >, wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >, wiselib::TTLFlooding< OsModel_P, Radio_P, Debug_P, SEEN_MESSAGE_SET_SIZE >, wiselib::SecureRadio< OsModel_P, Radio_P, Cipher_P >, wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ControlledTopologyTreeRouting< OsModel_P, Timer_P, Radio_P, Debug_P, MAX_NEIGHBORS >, wiselib::DYMORouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::FloodingAlgorithm< OsModel_P, NodeidIntMap_P, Radio_P, Debug_P >, wiselib::Greedy< OsModel_P, Node_P, NodeList_P, Timer_P, Radio_P, Debug_P >, wiselib::LazyType< Os_P, Radio_P, Timer_P, Rand_P, Node_P, NodeList_P, Connectivity_P, ConnectivityList_P, Debug_P >, wiselib::OlsrRouting< OsModel_P, RoutingTable_P, Clock_P, Radio_P, Debug_P >, wiselib::SecRouting< OsModel_P, Radio_P, crypto_P, Routing_P >, wiselib::StaticRoutingAlgorithm< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::ToraRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::ContikiExtendedDataRadioModel< OsModel_P >, wiselib::iPhoneRadioModel< OsModel_P, IPhoneLinkRadio >, wiselib::ComISenseRadioModel< OsModel_P, ComUart_P, ExtendedData_P >, wiselib::VolumeRadio< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::SunSpotRadio< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ExtendedRadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS, ExtendedData_P >, wiselib::DsrRouting< Os, routing_table_t >, wiselib::TTLFlooding< OsModel, Radio, Debug, NODES_MAX >, wiselib::TTLFlooding< OsModel, Radio, Debug, NODES_MAX >, wiselib::FloodingAlgorithm< Os, node_map_t >, wiselib::ExtendedRadioBase< OsModel_P, pc_node_id_t, OsModel_P::size_t, OsModel_P::block_data_t, RADIO_BASE_MAX_RECEIVERS, ExtendedData_P >, and wiselib::ExtendedRadioBase< OsModel_P, uint16_t, uint8_t, uint8_t >.

template<typename OsModel_P, typename NodeId_P, typename Size_P, typename BlockData_P, int MAX_RECEIVERS = RADIO_BASE_MAX_RECEIVERS>
typedef vector_static<OsModel, radio_delegate_t, MAX_RECEIVERS> wiselib::RadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS >::CallbackVector
template<typename OsModel_P, typename NodeId_P, typename Size_P, typename BlockData_P, int MAX_RECEIVERS = RADIO_BASE_MAX_RECEIVERS>
typedef CallbackVector::iterator wiselib::RadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS >::CallbackVectorIterator
template<typename OsModel_P, typename NodeId_P, typename Size_P, typename BlockData_P, int MAX_RECEIVERS = RADIO_BASE_MAX_RECEIVERS>
typedef NodeId_P wiselib::RadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS >::node_id_t

Reimplemented in wiselib::DsdvRouting< OsModel_P, RoutingTable_P, Radio_P, Timer_P, Debug_P >, wiselib::DsrRouting< OsModel_P, RoutingTable_P, Radio_P >, wiselib::TreeRouting< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >, wiselib::DiffieHellmanAlgorithm< OsModel_P, Routing_P, NodeidIntMap_P, Radio_P, Debug_P >, wiselib::DummyApp< OsModel_P, Encryption_P, Radio_P, Debug_P >, wiselib::EschenauerGligorAlgorithm< OsModel_P, Routing_P, NodeidIntMap_P, Radio_P, Debug_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >, wiselib::TTLFlooding< OsModel_P, Radio_P, Debug_P, SEEN_MESSAGE_SET_SIZE >, wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >, wiselib::TTLFlooding< OsModel_P, Radio_P, Debug_P, SEEN_MESSAGE_SET_SIZE >, wiselib::SecureRadio< OsModel_P, Radio_P, Cipher_P >, wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ControlledTopologyTreeRouting< OsModel_P, Timer_P, Radio_P, Debug_P, MAX_NEIGHBORS >, wiselib::DYMORouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::FloodingAlgorithm< OsModel_P, NodeidIntMap_P, Radio_P, Debug_P >, wiselib::Greedy< OsModel_P, Node_P, NodeList_P, Timer_P, Radio_P, Debug_P >, wiselib::LazyType< Os_P, Radio_P, Timer_P, Rand_P, Node_P, NodeList_P, Connectivity_P, ConnectivityList_P, Debug_P >, wiselib::OlsrRouting< OsModel_P, RoutingTable_P, Clock_P, Radio_P, Debug_P >, wiselib::SecRouting< OsModel_P, Radio_P, crypto_P, Routing_P >, wiselib::StaticRoutingAlgorithm< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::ToraRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::ContikiExtendedDataRadioModel< OsModel_P >, wiselib::iPhoneRadioModel< OsModel_P, IPhoneLinkRadio >, wiselib::ComISenseRadioModel< OsModel_P, ComUart_P, ExtendedData_P >, wiselib::VolumeRadio< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::SunSpotRadio< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ExtendedRadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS, ExtendedData_P >, wiselib::DsrRouting< Os, routing_table_t >, wiselib::TTLFlooding< OsModel, Radio, Debug, NODES_MAX >, wiselib::TTLFlooding< OsModel, Radio, Debug, NODES_MAX >, wiselib::FloodingAlgorithm< Os, node_map_t >, wiselib::ExtendedRadioBase< OsModel_P, pc_node_id_t, OsModel_P::size_t, OsModel_P::block_data_t, RADIO_BASE_MAX_RECEIVERS, ExtendedData_P >, and wiselib::ExtendedRadioBase< OsModel_P, uint16_t, uint8_t, uint8_t >.

template<typename OsModel_P, typename NodeId_P, typename Size_P, typename BlockData_P, int MAX_RECEIVERS = RADIO_BASE_MAX_RECEIVERS>
typedef OsModel_P wiselib::RadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS >::OsModel

Reimplemented in wiselib::DsdvRouting< OsModel_P, RoutingTable_P, Radio_P, Timer_P, Debug_P >, wiselib::DsrRouting< OsModel_P, RoutingTable_P, Radio_P >, wiselib::TreeRouting< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >, wiselib::DiffieHellmanAlgorithm< OsModel_P, Routing_P, NodeidIntMap_P, Radio_P, Debug_P >, wiselib::DummyApp< OsModel_P, Encryption_P, Radio_P, Debug_P >, wiselib::EschenauerGligorAlgorithm< OsModel_P, Routing_P, NodeidIntMap_P, Radio_P, Debug_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >, wiselib::TTLFlooding< OsModel_P, Radio_P, Debug_P, SEEN_MESSAGE_SET_SIZE >, wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >, wiselib::TTLFlooding< OsModel_P, Radio_P, Debug_P, SEEN_MESSAGE_SET_SIZE >, wiselib::SecureRadio< OsModel_P, Radio_P, Cipher_P >, wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ControlledTopologyTreeRouting< OsModel_P, Timer_P, Radio_P, Debug_P, MAX_NEIGHBORS >, wiselib::DYMORouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::FloodingAlgorithm< OsModel_P, NodeidIntMap_P, Radio_P, Debug_P >, wiselib::Greedy< OsModel_P, Node_P, NodeList_P, Timer_P, Radio_P, Debug_P >, wiselib::OlsrRouting< OsModel_P, RoutingTable_P, Clock_P, Radio_P, Debug_P >, wiselib::SecRouting< OsModel_P, Radio_P, crypto_P, Routing_P >, wiselib::StaticRoutingAlgorithm< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::ToraRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::ContikiExtendedDataRadioModel< OsModel_P >, wiselib::iPhoneRadioModel< OsModel_P, IPhoneLinkRadio >, wiselib::ComISenseRadioModel< OsModel_P, ComUart_P, ExtendedData_P >, wiselib::VolumeRadio< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::SunSpotRadio< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ExtendedRadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS, ExtendedData_P >, wiselib::DsrRouting< Os, routing_table_t >, wiselib::TTLFlooding< OsModel, Radio, Debug, NODES_MAX >, wiselib::TTLFlooding< OsModel, Radio, Debug, NODES_MAX >, wiselib::FloodingAlgorithm< Os, node_map_t >, wiselib::ExtendedRadioBase< OsModel_P, pc_node_id_t, OsModel_P::size_t, OsModel_P::block_data_t, RADIO_BASE_MAX_RECEIVERS, ExtendedData_P >, and wiselib::ExtendedRadioBase< OsModel_P, uint16_t, uint8_t, uint8_t >.

template<typename OsModel_P, typename NodeId_P, typename Size_P, typename BlockData_P, int MAX_RECEIVERS = RADIO_BASE_MAX_RECEIVERS>
typedef delegate3<void, node_id_t, size_t, block_data_t*> wiselib::RadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS >::radio_delegate_t
template<typename OsModel_P, typename NodeId_P, typename Size_P, typename BlockData_P, int MAX_RECEIVERS = RADIO_BASE_MAX_RECEIVERS>
typedef Size_P wiselib::RadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS >::size_t

Reimplemented in wiselib::DsdvRouting< OsModel_P, RoutingTable_P, Radio_P, Timer_P, Debug_P >, wiselib::DsrRouting< OsModel_P, RoutingTable_P, Radio_P >, wiselib::TreeRouting< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ClusterRadio< OsModel_P, Radio_P, ND_P, Clustering_P >, wiselib::DiffieHellmanAlgorithm< OsModel_P, Routing_P, NodeidIntMap_P, Radio_P, Debug_P >, wiselib::DummyApp< OsModel_P, Encryption_P, Radio_P, Debug_P >, wiselib::EschenauerGligorAlgorithm< OsModel_P, Routing_P, NodeidIntMap_P, Radio_P, Debug_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::EndToEndCommunication< OsModel_P, Radio_P, Timer_P, Debug_P, Neighbor_Discovery_P, Cluster_P >, wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >, wiselib::TTLFlooding< OsModel_P, Radio_P, Debug_P, SEEN_MESSAGE_SET_SIZE >, wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >, wiselib::TTLFlooding< OsModel_P, Radio_P, Debug_P, SEEN_MESSAGE_SET_SIZE >, wiselib::SecureRadio< OsModel_P, Radio_P, Cipher_P >, wiselib::AODVRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::AutoCast< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ControlledTopologyTreeRouting< OsModel_P, Timer_P, Radio_P, Debug_P, MAX_NEIGHBORS >, wiselib::DYMORouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::FloodingAlgorithm< OsModel_P, NodeidIntMap_P, Radio_P, Debug_P >, wiselib::Greedy< OsModel_P, Node_P, NodeList_P, Timer_P, Radio_P, Debug_P >, wiselib::LazyType< Os_P, Radio_P, Timer_P, Rand_P, Node_P, NodeList_P, Connectivity_P, ConnectivityList_P, Debug_P >, wiselib::OlsrRouting< OsModel_P, RoutingTable_P, Clock_P, Radio_P, Debug_P >, wiselib::SecRouting< OsModel_P, Radio_P, crypto_P, Routing_P >, wiselib::StaticRoutingAlgorithm< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::ToraRouting< OsModel_P, RoutingTable_P, Radio_P, Debug_P >, wiselib::ContikiExtendedDataRadioModel< OsModel_P >, wiselib::iPhoneRadioModel< OsModel_P, IPhoneLinkRadio >, wiselib::ComISenseRadioModel< OsModel_P, ComUart_P, ExtendedData_P >, wiselib::VolumeRadio< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ReliableRadio< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::SunSpotRadio< OsModel_P, Radio_P, Timer_P, Debug_P >, wiselib::ExtendedRadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS, ExtendedData_P >, wiselib::DsrRouting< Os, routing_table_t >, wiselib::TTLFlooding< OsModel, Radio, Debug, NODES_MAX >, wiselib::TTLFlooding< OsModel, Radio, Debug, NODES_MAX >, wiselib::FloodingAlgorithm< Os, node_map_t >, wiselib::ExtendedRadioBase< OsModel_P, pc_node_id_t, OsModel_P::size_t, OsModel_P::block_data_t, RADIO_BASE_MAX_RECEIVERS, ExtendedData_P >, and wiselib::ExtendedRadioBase< OsModel_P, uint16_t, uint8_t, uint8_t >.


Member Enumeration Documentation

template<typename OsModel_P, typename NodeId_P, typename Size_P, typename BlockData_P, int MAX_RECEIVERS = RADIO_BASE_MAX_RECEIVERS>
enum wiselib::RadioBase::ReturnValues

Member Function Documentation

template<typename OsModel_P, typename NodeId_P, typename Size_P, typename BlockData_P, int MAX_RECEIVERS = RADIO_BASE_MAX_RECEIVERS>
void wiselib::RadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS >::notify_receivers ( node_id_t  from,
size_t  len,
block_data_t data 
) [inline]
template<typename OsModel_P, typename NodeId_P, typename Size_P, typename BlockData_P, int MAX_RECEIVERS = RADIO_BASE_MAX_RECEIVERS>
template<class T , void(T::*)(node_id_t, size_t, block_data_t *) TMethod>
int wiselib::RadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS >::reg_recv_callback ( T *  obj_pnt) [inline]
template<typename OsModel_P, typename NodeId_P, typename Size_P, typename BlockData_P, int MAX_RECEIVERS = RADIO_BASE_MAX_RECEIVERS>
int wiselib::RadioBase< OsModel_P, NodeId_P, Size_P, BlockData_P, MAX_RECEIVERS >::unreg_recv_callback ( int  idx) [inline]

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