blob: 1eb74d6e683a2bc88816a9959c85d176fab5ccd4 [file] [log] [blame]
akmhoque8fdd6412012-12-04 15:05:33 -06001#ifndef _NLSR_ADL_H_
2#define _NLSR_ADL_H_
3
4#define NBR_DOWN 0
5#define NBR_ACTIVE 1
6
7struct ndn_neighbor
8{
9 struct name_prefix *neighbor;
10 int face;
11 int status;
12 char * last_lsdb_version;
13 char * last_info_version;
akmhoque09c0afa2012-12-14 09:27:00 -060014 char *ip_address;
akmhoque8fdd6412012-12-04 15:05:33 -060015 int info_interest_timed_out;
16 int lsdb_interest_timed_out;
17 int lsdb_random_time_component;
18 long int lsdb_synch_interval;
19 long int last_lsdb_requested;
20 int is_lsdb_send_interest_scheduled;
21 int metric;
22};
23
akmhoque09c0afa2012-12-14 09:27:00 -060024void add_nbr_to_adl(struct name_prefix *new_nbr,int face,char *ip);
akmhoque8fdd6412012-12-04 15:05:33 -060025void delete_nbr_from_adl(struct name_prefix *nbr);
26void print_adjacent(struct ndn_neighbor *nbr);
27void print_adjacent_from_adl(void);
28int get_adjacent_status(struct name_prefix *nbr);
29int get_timed_out_number(struct name_prefix *nbr);
30int get_lsdb_interest_timed_out_number(struct name_prefix *nbr);
31void update_adjacent_timed_out_to_adl(struct name_prefix *nbr, int increment);
32void update_adjacent_timed_out_zero_to_adl(struct name_prefix *nbr);
33void update_lsdb_interest_timed_out_to_adl(struct name_prefix *nbr, int increment);
34void update_lsdb_interest_timed_out_zero_to_adl(struct name_prefix *nbr);
35void update_adjacent_status_to_adl(struct name_prefix *nbr, int status);
36void update_lsdb_synch_interval_to_adl(struct name_prefix *nbr, long int interval);
37int no_active_nbr(void);
38int is_adj_lsa_build(void);
39void get_active_nbr_adj_data(struct ccn_charbuf *c);
40long int get_nbr_time_diff_lsdb_req(char *nbr);
41long int get_nbr_last_lsdb_requested(char *nbr);
42long int get_nbr_last_lsdb_requested(char *nbr);
43long int get_lsdb_synch_interval(char *nbr);
44int get_nbr_random_time_component(char *nbr);
45char * get_nbr_lsdb_version(char *nbr);
46void update_adjacent_last_lsdb_requested_to_adl(char *nbr, long int timestamp);
47void set_is_lsdb_send_interest_scheduled_to_zero(char *nbr);
48void update_adjacent_lsdb_version_to_adl(struct name_prefix *nbr, char *version);
49void adjust_adjacent_last_lsdb_requested_to_adl(char *nbr, long int sec);
50int get_next_hop_face_from_adl(char *nbr);
51int is_neighbor(char *nbr);
akmhoque9ca1bb82013-01-24 09:57:57 -060052int is_active_neighbor(char *nbr);
akmhoquea37b52c2012-12-14 11:16:36 -060053void update_face_to_adl_for_nbr(char *nbr, int face);
akmhoque8fdd6412012-12-04 15:05:33 -060054#endif