akmhoque | 8fdd641 | 2012-12-04 15:05:33 -0600 | [diff] [blame] | 1 | #ifndef _NLSR_ADL_H_ |
| 2 | #define _NLSR_ADL_H_ |
| 3 | |
| 4 | #define NBR_DOWN 0 |
| 5 | #define NBR_ACTIVE 1 |
| 6 | |
| 7 | struct ndn_neighbor |
| 8 | { |
| 9 | struct name_prefix *neighbor; |
| 10 | int face; |
| 11 | int status; |
| 12 | char * last_lsdb_version; |
| 13 | char * last_info_version; |
akmhoque | 09c0afa | 2012-12-14 09:27:00 -0600 | [diff] [blame] | 14 | char *ip_address; |
akmhoque | 8fdd641 | 2012-12-04 15:05:33 -0600 | [diff] [blame] | 15 | 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 | |
akmhoque | 09c0afa | 2012-12-14 09:27:00 -0600 | [diff] [blame] | 24 | void add_nbr_to_adl(struct name_prefix *new_nbr,int face,char *ip); |
akmhoque | 8fdd641 | 2012-12-04 15:05:33 -0600 | [diff] [blame] | 25 | void delete_nbr_from_adl(struct name_prefix *nbr); |
| 26 | void print_adjacent(struct ndn_neighbor *nbr); |
| 27 | void print_adjacent_from_adl(void); |
| 28 | int get_adjacent_status(struct name_prefix *nbr); |
| 29 | int get_timed_out_number(struct name_prefix *nbr); |
| 30 | int get_lsdb_interest_timed_out_number(struct name_prefix *nbr); |
| 31 | void update_adjacent_timed_out_to_adl(struct name_prefix *nbr, int increment); |
| 32 | void update_adjacent_timed_out_zero_to_adl(struct name_prefix *nbr); |
| 33 | void update_lsdb_interest_timed_out_to_adl(struct name_prefix *nbr, int increment); |
| 34 | void update_lsdb_interest_timed_out_zero_to_adl(struct name_prefix *nbr); |
| 35 | void update_adjacent_status_to_adl(struct name_prefix *nbr, int status); |
| 36 | void update_lsdb_synch_interval_to_adl(struct name_prefix *nbr, long int interval); |
| 37 | int no_active_nbr(void); |
| 38 | int is_adj_lsa_build(void); |
| 39 | void get_active_nbr_adj_data(struct ccn_charbuf *c); |
| 40 | long int get_nbr_time_diff_lsdb_req(char *nbr); |
| 41 | long int get_nbr_last_lsdb_requested(char *nbr); |
| 42 | long int get_nbr_last_lsdb_requested(char *nbr); |
| 43 | long int get_lsdb_synch_interval(char *nbr); |
| 44 | int get_nbr_random_time_component(char *nbr); |
| 45 | char * get_nbr_lsdb_version(char *nbr); |
| 46 | void update_adjacent_last_lsdb_requested_to_adl(char *nbr, long int timestamp); |
| 47 | void set_is_lsdb_send_interest_scheduled_to_zero(char *nbr); |
| 48 | void update_adjacent_lsdb_version_to_adl(struct name_prefix *nbr, char *version); |
| 49 | void adjust_adjacent_last_lsdb_requested_to_adl(char *nbr, long int sec); |
| 50 | int get_next_hop_face_from_adl(char *nbr); |
| 51 | int is_neighbor(char *nbr); |
akmhoque | 9ca1bb8 | 2013-01-24 09:57:57 -0600 | [diff] [blame] | 52 | int is_active_neighbor(char *nbr); |
akmhoque | a37b52c | 2012-12-14 11:16:36 -0600 | [diff] [blame] | 53 | void update_face_to_adl_for_nbr(char *nbr, int face); |
akmhoque | 8fdd641 | 2012-12-04 15:05:33 -0600 | [diff] [blame] | 54 | #endif |