blob: a1f48b21518f9bb22c29f0371fded3b15185f189 [file] [log] [blame]
akmhoque8a5babe2012-08-16 17:39:33 -05001#ifndef _NLSR_ADL_H_
2#define _NLSR_ADL_H_
3
akmhoque42098b12012-08-27 22:54:23 -05004#define NBR_DOWN 0
akmhoque03004e62012-09-06 01:12:28 -05005#define NBR_ACTIVE 1
akmhoque42098b12012-08-27 22:54:23 -05006
akmhoque03004e62012-09-06 01:12:28 -05007struct ndn_neighbor
8{
9 struct name_prefix *neighbor;
10 int face;
11 int status;
12 char * last_lsdb_version;
13 char * last_info_version;
14 int info_interest_timed_out;
akmhoque14b3f342012-09-14 10:39:02 -050015 int lsdb_interest_timed_out;
16 int lsdb_random_time_component;
akmhoque03004e62012-09-06 01:12:28 -050017 long int lsdb_synch_interval;
18 long int last_lsdb_requested;
19 int is_lsdb_send_interest_scheduled;
20 int metric;
21};
22
23void add_nbr_to_adl(struct name_prefix *new_nbr,int face);
akmhoque53f64222012-09-05 13:57:51 -050024void print_adjacent(struct ndn_neighbor *nbr);
akmhoque8a5babe2012-08-16 17:39:33 -050025void print_adjacent_from_adl(void);
akmhoque53f64222012-09-05 13:57:51 -050026int get_adjacent_status(struct name_prefix *nbr);
akmhoque53f64222012-09-05 13:57:51 -050027int get_timed_out_number(struct name_prefix *nbr);
akmhoque14b3f342012-09-14 10:39:02 -050028int get_lsdb_interest_timed_out_number(struct name_prefix *nbr);
akmhoque53f64222012-09-05 13:57:51 -050029void update_adjacent_timed_out_to_adl(struct name_prefix *nbr, int increment);
30void update_adjacent_timed_out_zero_to_adl(struct name_prefix *nbr);
akmhoque14b3f342012-09-14 10:39:02 -050031void update_lsdb_interest_timed_out_to_adl(struct name_prefix *nbr, int increment);
32void update_lsdb_interest_timed_out_zero_to_adl(struct name_prefix *nbr);
akmhoque03004e62012-09-06 01:12:28 -050033void update_adjacent_status_to_adl(struct name_prefix *nbr, int status);
34void update_lsdb_synch_interval_to_adl(struct name_prefix *nbr, long int interval);
akmhoque53f64222012-09-05 13:57:51 -050035int no_active_nbr(void);
akmhoque03004e62012-09-06 01:12:28 -050036int is_adj_lsa_build(void);
akmhoque53f64222012-09-05 13:57:51 -050037void get_active_nbr_adj_data(struct ccn_charbuf *c);
akmhoque03004e62012-09-06 01:12:28 -050038long int get_nbr_time_diff_lsdb_req(char *nbr);
39long int get_nbr_last_lsdb_requested(char *nbr);
40long int get_nbr_last_lsdb_requested(char *nbr);
41long int get_lsdb_synch_interval(char *nbr);
akmhoque14b3f342012-09-14 10:39:02 -050042int get_nbr_random_time_component(char *nbr);
akmhoque53f64222012-09-05 13:57:51 -050043char * get_nbr_lsdb_version(char *nbr);
44void update_adjacent_last_lsdb_requested_to_adl(char *nbr, long int timestamp);
akmhoque53f64222012-09-05 13:57:51 -050045void set_is_lsdb_send_interest_scheduled_to_zero(char *nbr);
akmhoque03004e62012-09-06 01:12:28 -050046void update_adjacent_lsdb_version_to_adl(struct name_prefix *nbr, char *version);
akmhoque53f64222012-09-05 13:57:51 -050047void adjust_adjacent_last_lsdb_requested_to_adl(char *nbr, long int sec);
akmhoquefbfd0982012-09-09 20:59:03 -050048int get_next_hop_face_from_adl(char *nbr);
akmhoquede61ba92012-09-20 22:19:12 -050049int is_neighbor(char *nbr);
akmhoque8a5babe2012-08-16 17:39:33 -050050#endif