Wiselib
Public Types | Public Member Functions
wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P > Class Template Reference

#include <keylevels_main.h>

Inherits wiselib::RadioBase< OsModel_P, Radio_P::node_id_t, Radio_P::size_t, Radio_P::block_data_t >, and wiselib::RadioBase< OsModel_P, Radio_P::node_id_t, Radio_P::size_t, Radio_P::block_data_t >.

List of all members.

Public Types

enum  ReturnValues { SUCCESS = OsModel::SUCCESS, SUCCESS = OsModel::SUCCESS }
enum  ReturnValues { SUCCESS = OsModel::SUCCESS, SUCCESS = OsModel::SUCCESS }
typedef OsModel_P OsModel
typedef Radio_P Radio
typedef Routing_P Routing
typedef Crypto_P Crypto
typedef Debug_P Debug
typedef Timer_P Timer
typedef Random_P Random
typedef Clustering_P Clustering
typedef Keylevels< OsModel,
Radio, Routing, Crypto,
Clustering, Debug, Timer,
Random
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 KeylevelsMessage
< OsModel, Radio
KeylevelMessage
typedef KeyShare< OsModel, Radiokeyshare_t
typedef TTLFlooding< OsModel,
Radio, Debug, NODES_MAX > 
radio_ttl_t
typedef OsModel_P OsModel
typedef Radio_P Radio
typedef Routing_P Routing
typedef Crypto_P Crypto
typedef Debug_P Debug
typedef Timer_P Timer
typedef Random_P Random
typedef Clustering_P Clustering
typedef Keylevels< OsModel,
Radio, Routing, Crypto,
Clustering, Debug, Timer,
Random
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 KeylevelsMessage
< OsModel, Radio
KeylevelMessage
typedef KeyShare< OsModel, Radiokeyshare_t
typedef TTLFlooding< OsModel,
Radio, Debug, NODES_MAX > 
radio_ttl_t
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

 Keylevels ()
int init (Radio &radio, Routing &routing, Crypto &crypto, Clustering &clustering, Debug &debug, Timer &timer, Random &random)
void start_neighbor_seek_init (void *)
void neighbor_message_received (node_id_t from, size_t size, block_data_t *data)
void start_neighbor_seek (void *)
void init_ttl_op ()
void init_ttl_op (void *)
void seek_for_group_key (void *)
group_keyget_group_key ()
int get_current_seek_timeout ()
int get_current_ttl ()
void increase_seek_ttl ()
bool group_key_found ()
void enable_radio ()
void disable_radio ()
void broadcast_all_keys_with_ttl ()
void send_group_key_to_all_trusted_neighbors ()
bool send_key_ack (node_id_t receiver, key_info *key_info)
bool send_group_key (node_id_t receiver)
void message_received (node_id_t from, size_t size, block_data_t *data)
void key_offer_received (node_id_t from, size_t size, block_data_t *data)
void store_new_trusted_link (node_id_t node, key *key)
void print_key_value (uint8_t *value, uint8_t size)
void print_all_key_info (key *k)
void show_keylevels_message (KeylevelMessage *msg, int dir)
int getNeighMsgCnt_in ()
int getNeighMsgCnt_out ()
int getKeyOfferMsgCnt_in ()
int getKeyOfferMsgCnt_out ()
int getGroupKeyMsgCnt_in ()
int getGroupKeyMsgCnt_out ()
 Keylevels ()
int init (Radio &radio, Routing &routing, Crypto &crypto, Clustering &clustering, Debug &debug, Timer &timer, Random &random)
void init_ttl_op (void *d=NULL)
 this is where real things start happening after a neighbor is found
void seek_for_group_key (void *)
group_keyget_group_key ()
int get_current_seek_timeout ()
int get_current_ttl ()
void increase_seek_ttl ()
bool group_key_found ()
void enable_radio ()
void disable_radio ()
void broadcast_all_keys_with_ttl ()
 builds a packet with key offers, sends out in array of struct key where first element /only/ holds XOR of all key indices (checksum)
void send_group_key_to_node (void *d)
void send_group_key_to_all_trusted_neighbors (void *d=NULL)
bool send_key_ack (node_id_t receiver, key_info *key_info)
bool send_group_key (node_id_t receiver)
void message_received (node_id_t from, size_t size, block_data_t *data)
void notify_neighbors (void *d=NULL)
void key_offer_received (node_id_t from, size_t size, block_data_t *data)
bool check_for_better_trusted_link (node_id_t node, key *key)
void store_new_trusted_link (node_id_t node, key *key)
void wait_for_routing (uint32_t msecs)
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 Routing_P, typename Crypto_P, typename Clustering_P, typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
class wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >


Member Typedef Documentation

template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Radio::block_data_t wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::block_data_t
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Radio::block_data_t wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_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 Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Clustering_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Clustering
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Clustering_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Clustering
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Crypto_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Crypto
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Crypto_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Crypto
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Debug_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Debug
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Debug_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Debug
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef KeylevelsMessage<OsModel, Radio> wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::KeylevelMessage
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef KeylevelsMessage<OsModel, Radio> wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::KeylevelMessage
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef KeyShare<OsModel, Radio> wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::keyshare_t
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef KeyShare<OsModel, Radio> wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::keyshare_t
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Radio::message_id_t wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::message_id_t
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Radio::message_id_t wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::message_id_t
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Radio::node_id_t wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::node_id_t
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Radio::node_id_t wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::node_id_t
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef OsModel_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::OsModel
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef OsModel_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::OsModel
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Radio_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Radio
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Radio_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_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 Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef TTLFlooding<OsModel, Radio, Debug, NODES_MAX> wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::radio_ttl_t
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef TTLFlooding<OsModel, Radio, Debug, NODES_MAX> wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::radio_ttl_t
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Random_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Random
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Random_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Random
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Routing_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Routing
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Routing_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Routing
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef self_type* wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::self_pointer_t
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef self_type* wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::self_pointer_t
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Keylevels<OsModel, Radio, Routing, Crypto, Clustering, Debug, Timer, Random> wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::self_type
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Keylevels<OsModel, Radio, Routing, Crypto, Clustering, Debug, Timer, Random> wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::self_type
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Radio::size_t wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::size_t
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Radio::size_t wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::size_t
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Timer_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Timer
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
typedef Timer_P wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Timer

Member Enumeration Documentation

template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
enum wiselib::Keylevels::ReturnValues
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
enum wiselib::Keylevels::ReturnValues

Constructor & Destructor Documentation

template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Keylevels ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::Keylevels ( ) [inline]

Member Function Documentation

template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::broadcast_all_keys_with_ttl ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::broadcast_all_keys_with_ttl ( ) [inline]

builds a packet with key offers, sends out in array of struct key where first element /only/ holds XOR of all key indices (checksum)

template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
bool wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::check_for_better_trusted_link ( node_id_t  node,
key key 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::disable_radio ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::disable_radio ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::enable_radio ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::enable_radio ( void  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
int wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::get_current_seek_timeout ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
int wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::get_current_seek_timeout ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
int wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::get_current_ttl ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
int wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::get_current_ttl ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
group_key* wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::get_group_key ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
group_key* wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::get_group_key ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
int wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::getGroupKeyMsgCnt_in ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
int wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::getGroupKeyMsgCnt_out ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
int wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::getKeyOfferMsgCnt_in ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
int wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::getKeyOfferMsgCnt_out ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
int wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::getNeighMsgCnt_in ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
int wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::getNeighMsgCnt_out ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
bool wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::group_key_found ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
bool wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::group_key_found ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::increase_seek_ttl ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::increase_seek_ttl ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
int wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::init ( Radio radio,
Routing routing,
Crypto crypto,
Clustering clustering,
Debug debug,
Timer timer,
Random random 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
int wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::init ( Radio radio,
Routing routing,
Crypto crypto,
Clustering clustering,
Debug debug,
Timer timer,
Random random 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::init_ttl_op ( void *  d = NULL) [inline]

this is where real things start happening after a neighbor is found

template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::init_ttl_op ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::init_ttl_op ( void *  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::key_offer_received ( node_id_t  from,
size_t  size,
block_data_t data 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::key_offer_received ( node_id_t  from,
size_t  size,
block_data_t data 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::message_received ( node_id_t  from,
size_t  size,
block_data_t data 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::message_received ( node_id_t  from,
size_t  size,
block_data_t data 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::neighbor_message_received ( node_id_t  from,
size_t  size,
block_data_t data 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::notify_neighbors ( void *  d = NULL) [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 Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::print_all_key_info ( key k) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::print_key_value ( uint8_t value,
uint8_t  size 
) [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 Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::seek_for_group_key ( void *  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::seek_for_group_key ( void *  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
bool wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::send_group_key ( node_id_t  receiver) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
bool wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::send_group_key ( node_id_t  receiver) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::send_group_key_to_all_trusted_neighbors ( ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::send_group_key_to_all_trusted_neighbors ( void *  d = NULL) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::send_group_key_to_node ( void *  d) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
bool wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::send_key_ack ( node_id_t  receiver,
key_info key_info 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
bool wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::send_key_ack ( node_id_t  receiver,
key_info key_info 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::show_keylevels_message ( KeylevelMessage msg,
int  dir 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::start_neighbor_seek ( void *  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::start_neighbor_seek_init ( void *  ) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::store_new_trusted_link ( node_id_t  node,
key key 
) [inline]
template<typename OsModel_P , typename Radio_P , typename Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::store_new_trusted_link ( node_id_t  node,
key key 
) [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 Routing_P , typename Crypto_P , typename Clustering_P , typename Debug_P = typename OsModel_P::Debug, typename Timer_P = typename OsModel_P::Timer, typename Random_P = typename OsModel_P::Rand>
void wiselib::Keylevels< OsModel_P, Radio_P, Routing_P, Crypto_P, Clustering_P, Debug_P, Timer_P, Random_P >::wait_for_routing ( uint32_t  msecs) [inline]

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