akmhoque | 8a5babe | 2012-08-16 17:39:33 -0500 | [diff] [blame] | 1 | #ifndef _NLSR_ADL_H_ |
| 2 | #define _NLSR_ADL_H_ |
| 3 | |
akmhoque | 42098b1 | 2012-08-27 22:54:23 -0500 | [diff] [blame] | 4 | #define NBR_DOWN 0 |
akmhoque | 03004e6 | 2012-09-06 01:12:28 -0500 | [diff] [blame] | 5 | #define NBR_ACTIVE 1 |
akmhoque | 42098b1 | 2012-08-27 22:54:23 -0500 | [diff] [blame] | 6 | |
akmhoque | 03004e6 | 2012-09-06 01:12:28 -0500 | [diff] [blame] | 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; |
| 14 | int info_interest_timed_out; |
akmhoque | 14b3f34 | 2012-09-14 10:39:02 -0500 | [diff] [blame] | 15 | int lsdb_interest_timed_out; |
| 16 | int lsdb_random_time_component; |
akmhoque | 03004e6 | 2012-09-06 01:12:28 -0500 | [diff] [blame] | 17 | long int lsdb_synch_interval; |
| 18 | long int last_lsdb_requested; |
| 19 | int is_lsdb_send_interest_scheduled; |
| 20 | int metric; |
| 21 | }; |
| 22 | |
| 23 | void add_nbr_to_adl(struct name_prefix *new_nbr,int face); |
akmhoque | 53f6422 | 2012-09-05 13:57:51 -0500 | [diff] [blame] | 24 | void print_adjacent(struct ndn_neighbor *nbr); |
akmhoque | 8a5babe | 2012-08-16 17:39:33 -0500 | [diff] [blame] | 25 | void print_adjacent_from_adl(void); |
akmhoque | 53f6422 | 2012-09-05 13:57:51 -0500 | [diff] [blame] | 26 | int get_adjacent_status(struct name_prefix *nbr); |
akmhoque | 53f6422 | 2012-09-05 13:57:51 -0500 | [diff] [blame] | 27 | int get_timed_out_number(struct name_prefix *nbr); |
akmhoque | 14b3f34 | 2012-09-14 10:39:02 -0500 | [diff] [blame] | 28 | int get_lsdb_interest_timed_out_number(struct name_prefix *nbr); |
akmhoque | 53f6422 | 2012-09-05 13:57:51 -0500 | [diff] [blame] | 29 | void update_adjacent_timed_out_to_adl(struct name_prefix *nbr, int increment); |
| 30 | void update_adjacent_timed_out_zero_to_adl(struct name_prefix *nbr); |
akmhoque | 14b3f34 | 2012-09-14 10:39:02 -0500 | [diff] [blame] | 31 | void update_lsdb_interest_timed_out_to_adl(struct name_prefix *nbr, int increment); |
| 32 | void update_lsdb_interest_timed_out_zero_to_adl(struct name_prefix *nbr); |
akmhoque | 03004e6 | 2012-09-06 01:12:28 -0500 | [diff] [blame] | 33 | void update_adjacent_status_to_adl(struct name_prefix *nbr, int status); |
| 34 | void update_lsdb_synch_interval_to_adl(struct name_prefix *nbr, long int interval); |
akmhoque | 53f6422 | 2012-09-05 13:57:51 -0500 | [diff] [blame] | 35 | int no_active_nbr(void); |
akmhoque | 03004e6 | 2012-09-06 01:12:28 -0500 | [diff] [blame] | 36 | int is_adj_lsa_build(void); |
akmhoque | 53f6422 | 2012-09-05 13:57:51 -0500 | [diff] [blame] | 37 | void get_active_nbr_adj_data(struct ccn_charbuf *c); |
akmhoque | 03004e6 | 2012-09-06 01:12:28 -0500 | [diff] [blame] | 38 | long int get_nbr_time_diff_lsdb_req(char *nbr); |
| 39 | long int get_nbr_last_lsdb_requested(char *nbr); |
| 40 | long int get_nbr_last_lsdb_requested(char *nbr); |
| 41 | long int get_lsdb_synch_interval(char *nbr); |
akmhoque | 14b3f34 | 2012-09-14 10:39:02 -0500 | [diff] [blame] | 42 | int get_nbr_random_time_component(char *nbr); |
akmhoque | 53f6422 | 2012-09-05 13:57:51 -0500 | [diff] [blame] | 43 | char * get_nbr_lsdb_version(char *nbr); |
| 44 | void update_adjacent_last_lsdb_requested_to_adl(char *nbr, long int timestamp); |
akmhoque | 53f6422 | 2012-09-05 13:57:51 -0500 | [diff] [blame] | 45 | void set_is_lsdb_send_interest_scheduled_to_zero(char *nbr); |
akmhoque | 03004e6 | 2012-09-06 01:12:28 -0500 | [diff] [blame] | 46 | void update_adjacent_lsdb_version_to_adl(struct name_prefix *nbr, char *version); |
akmhoque | 53f6422 | 2012-09-05 13:57:51 -0500 | [diff] [blame] | 47 | void adjust_adjacent_last_lsdb_requested_to_adl(char *nbr, long int sec); |
akmhoque | fbfd098 | 2012-09-09 20:59:03 -0500 | [diff] [blame] | 48 | int get_next_hop_face_from_adl(char *nbr); |
akmhoque | de61ba9 | 2012-09-20 22:19:12 -0500 | [diff] [blame^] | 49 | int is_neighbor(char *nbr); |
akmhoque | 8a5babe | 2012-08-16 17:39:33 -0500 | [diff] [blame] | 50 | #endif |