blob: 64d19d62e8784766465120969cdb000237f08f73 [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;
15 long int lsdb_synch_interval;
16 long int last_lsdb_requested;
17 int is_lsdb_send_interest_scheduled;
18 int metric;
19};
20
21void add_nbr_to_adl(struct name_prefix *new_nbr,int face);
akmhoque53f64222012-09-05 13:57:51 -050022void print_adjacent(struct ndn_neighbor *nbr);
akmhoque8a5babe2012-08-16 17:39:33 -050023void print_adjacent_from_adl(void);
akmhoque53f64222012-09-05 13:57:51 -050024int get_adjacent_status(struct name_prefix *nbr);
akmhoque53f64222012-09-05 13:57:51 -050025int get_timed_out_number(struct name_prefix *nbr);
26void update_adjacent_timed_out_to_adl(struct name_prefix *nbr, int increment);
27void update_adjacent_timed_out_zero_to_adl(struct name_prefix *nbr);
akmhoque03004e62012-09-06 01:12:28 -050028void update_adjacent_status_to_adl(struct name_prefix *nbr, int status);
29void update_lsdb_synch_interval_to_adl(struct name_prefix *nbr, long int interval);
akmhoque53f64222012-09-05 13:57:51 -050030int no_active_nbr(void);
akmhoque03004e62012-09-06 01:12:28 -050031int is_adj_lsa_build(void);
akmhoque53f64222012-09-05 13:57:51 -050032void get_active_nbr_adj_data(struct ccn_charbuf *c);
akmhoque03004e62012-09-06 01:12:28 -050033long int get_nbr_time_diff_lsdb_req(char *nbr);
34long int get_nbr_last_lsdb_requested(char *nbr);
35long int get_nbr_last_lsdb_requested(char *nbr);
36long int get_lsdb_synch_interval(char *nbr);
akmhoque53f64222012-09-05 13:57:51 -050037char * get_nbr_lsdb_version(char *nbr);
38void update_adjacent_last_lsdb_requested_to_adl(char *nbr, long int timestamp);
akmhoque53f64222012-09-05 13:57:51 -050039void set_is_lsdb_send_interest_scheduled_to_zero(char *nbr);
akmhoque03004e62012-09-06 01:12:28 -050040void update_adjacent_lsdb_version_to_adl(struct name_prefix *nbr, char *version);
akmhoque53f64222012-09-05 13:57:51 -050041void adjust_adjacent_last_lsdb_requested_to_adl(char *nbr, long int sec);
akmhoque8a5babe2012-08-16 17:39:33 -050042#endif