class ParentChildrenList


Public Fields

LandmarkAgent* a_
Agent associated with this object
int adverts_type_
Indicates whether adverts should be flooded, unicast
double last_update_sent_
Time at which last update was sent
int level_
my level
LMAddrs* mylmaddrs_
or suppresed when no changes as in a hard-state scheme My landmark addresses; 8 bits per level; assume
ParentChildrenList* next_
pointer to next list element
int num_children_
our level; superset of potential children heard with the "election" vicinity condition number of children
int num_heard_
number of nodes heard at one level lower than
int num_potl_children_
number of potential children
int num_pparent_
number of potential parents
int num_tags_
Number of tags in tag_list
LMNode* parent_
points to the appropriate object in the pparent_ list
LMNode* pchildren_
list of children and potential children
LMPeriodicAdvtHandler* periodic_handler_
landmark updates handler called by the scheduler
Event* periodic_update_event_
event used to schedule periodic
LMNode* pparent_
list of potential parents
int seqnum_
Periodic advertisement stuff Sequence number of last advertisement
compr_taglist* tag_list_
Aggregated list of tags for each level
double update_period_
period between updates
int update_round_
To be used for demotion
double update_timeout_
Updates are deleted after this timeout

Public Methods

ParentChildrenList(int level, LandmarkAgent *a)
void UpdateChildLMAddr(nsaddr_t id, int num_lm_addrs, int64_t *lm_addrs)
int UpdatePotlChild(nsaddr_t id, nsaddr_t next_hop, int num_hops, int level, int num_children, int energy, int origin_time, int child_flag, int delete_flag, compr_taglist *taglist)
int UpdatePotlParent(nsaddr_t id, nsaddr_t next_hop, int num_hops, int level, int num_children, int energy, int origin_time, int delete_flag)
Update/add/delete info abt a potential parent or child Returns 1 if parent or child already present else adds the relevant object and returns 0 Deletes the specified parent or child if delete flag is set to 1; should be set to 0 otherwise One method might be enough but have two in case different actions have to be taken for adding parent and child in the future
~ParentChildrenList()

Private Fields

friend class LandmarkAgent
friend class LMNode
friend class LMPeriodicAdvtHandler
friend class PromotionTimer

Documentation

friend class LandmarkAgent

friend class LMNode

friend class PromotionTimer

friend class LMPeriodicAdvtHandler

ParentChildrenList(int level, LandmarkAgent *a)

~ParentChildrenList()

int level_
my level

LMNode* parent_
points to the appropriate object in the pparent_ list

int num_heard_
number of nodes heard at one level lower than

int num_children_
our level; superset of potential children heard with the "election" vicinity condition number of children

int num_potl_children_
number of potential children

int num_pparent_
number of potential parents

LMNode* pchildren_
list of children and potential children

LMNode* pparent_
list of potential parents

int seqnum_
Periodic advertisement stuff Sequence number of last advertisement

double last_update_sent_
Time at which last update was sent

double update_period_
period between updates

double update_timeout_
Updates are deleted after this timeout

Event* periodic_update_event_
event used to schedule periodic

LMPeriodicAdvtHandler* periodic_handler_
landmark updates handler called by the scheduler

ParentChildrenList* next_
pointer to next list element

int update_round_
To be used for demotion

int UpdatePotlParent(nsaddr_t id, nsaddr_t next_hop, int num_hops, int level, int num_children, int energy, int origin_time, int delete_flag)
Update/add/delete info abt a potential parent or child Returns 1 if parent or child already present else adds the relevant object and returns 0 Deletes the specified parent or child if delete flag is set to 1; should be set to 0 otherwise One method might be enough but have two in case different actions have to be taken for adding parent and child in the future

int UpdatePotlChild(nsaddr_t id, nsaddr_t next_hop, int num_hops, int level, int num_children, int energy, int origin_time, int child_flag, int delete_flag, compr_taglist *taglist)

void UpdateChildLMAddr(nsaddr_t id, int num_lm_addrs, int64_t *lm_addrs)

LandmarkAgent* a_
Agent associated with this object

compr_taglist* tag_list_
Aggregated list of tags for each level

int num_tags_
Number of tags in tag_list

int adverts_type_
Indicates whether adverts should be flooded, unicast

LMAddrs* mylmaddrs_
or suppresed when no changes as in a hard-state scheme My landmark addresses; 8 bits per level; assume


This class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

Adapted for the NS documentation page

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de