#include <aodv_rtable.h>
Collaboration diagram for aodv_rt_entry:

Definition at line 81 of file aodv_rtable.h.
Public Member Functions | |
| aodv_rt_entry () | |
| void | nb_insert (nsaddr_t id) |
| AODV_Neighbor * | nb_lookup (nsaddr_t id) |
| void | pc_delete (void) |
| void | pc_delete (nsaddr_t id) |
| bool | pc_empty (void) |
| void | pc_insert (nsaddr_t id) |
| AODV_Precursor * | pc_lookup (nsaddr_t id) |
| ~aodv_rt_entry () | |
Data Fields | |
| u_int8_t | rt_req_cnt |
| double | rt_req_timeout |
Protected Member Functions | |
| LIST_ENTRY (aodv_rt_entry) rt_link | |
Protected Attributes | |
| char | hist_indx |
| double | rt_disc_latency [MAX_HISTORY] |
| nsaddr_t | rt_dst |
| double | rt_expire |
| u_int8_t | rt_flags |
| u_int16_t | rt_hops |
| int | rt_last_hop_count |
| aodv_ncache | rt_nblist |
| nsaddr_t | rt_nexthop |
| aodv_precursors | rt_pclist |
| int | rt_req_last_ttl |
| u_int32_t | rt_seqno |
Friends | |
| class | AODV |
| class | aodv_rtable |
| class | LocalRepairTimer |
|
|
Definition at line 38 of file aodv_rtable.cc. References INFINITY2, LIST_INIT, MAX_HISTORY, rt_disc_latency, rt_dst, rt_expire, rt_flags, rt_hops, rt_last_hop_count, rt_nexthop, rt_pclist, rt_req_cnt, rt_req_timeout, rt_seqno, and RTF_DOWN. 00039 { 00040 int i; 00041 00042 rt_req_timeout = 0.0; 00043 rt_req_cnt = 0; 00044 00045 rt_dst = 0; 00046 rt_seqno = 0; 00047 rt_hops = rt_last_hop_count = INFINITY2; 00048 rt_nexthop = 0; 00049 LIST_INIT(&rt_pclist); 00050 rt_expire = 0.0; 00051 rt_flags = RTF_DOWN; 00052 00053 /* 00054 rt_errors = 0; 00055 rt_error_time = 0.0; 00056 */ 00057 00058 00059 for (i=0; i < MAX_HISTORY; i++) { 00060 rt_disc_latency[i] = 0.0; 00061 } 00062 hist_indx = 0; 00063 rt_req_last_ttl = 0; 00064 00065 LIST_INIT(&rt_nblist); 00066 00067 };
|
|
|
Definition at line 70 of file aodv_rtable.cc. References LIST_REMOVE, rt_nblist, and rt_pclist. 00071 { 00072 AODV_Neighbor *nb; 00073 00074 while((nb = rt_nblist.lh_first)) { 00075 LIST_REMOVE(nb, nb_link); 00076 delete nb; 00077 } 00078 00079 AODV_Precursor *pc; 00080 00081 while((pc = rt_pclist.lh_first)) { 00082 LIST_REMOVE(pc, pc_link); 00083 delete pc; 00084 } 00085 00086 }
|
|
|
|
|
|
Definition at line 90 of file aodv_rtable.cc. References LIST_INSERT_HEAD, AODV_Neighbor::nb_expire, and rt_nblist. 00091 { 00092 AODV_Neighbor *nb = new AODV_Neighbor(id); 00093 00094 assert(nb); 00095 nb->nb_expire = 0; 00096 LIST_INSERT_HEAD(&rt_nblist, nb, nb_link); 00097 00098 }
|
|
|
Definition at line 102 of file aodv_rtable.cc. References AODV_Neighbor::nb_addr, and rt_nblist. 00103 { 00104 AODV_Neighbor *nb = rt_nblist.lh_first; 00105 00106 for(; nb; nb = nb->nb_link.le_next) { 00107 if(nb->nb_addr == id) 00108 break; 00109 } 00110 return nb; 00111 00112 }
|
|
|
Definition at line 155 of file aodv_rtable.cc. References LIST_REMOVE, and rt_pclist. 00155 { 00156 AODV_Precursor *pc; 00157 00158 while((pc = rt_pclist.lh_first)) { 00159 LIST_REMOVE(pc, pc_link); 00160 delete pc; 00161 } 00162 }
|
|
|
Definition at line 141 of file aodv_rtable.cc. References LIST_REMOVE, AODV_Precursor::pc_addr, and rt_pclist. Referenced by AODV::handle_link_failure(). 00141 { 00142 AODV_Precursor *pc = rt_pclist.lh_first; 00143 00144 for(; pc; pc = pc->pc_link.le_next) { 00145 if(pc->pc_addr == id) { 00146 LIST_REMOVE(pc,pc_link); 00147 delete pc; 00148 break; 00149 } 00150 } 00151 00152 }
|
|
|
Definition at line 165 of file aodv_rtable.cc. References rt_pclist. 00165 { 00166 AODV_Precursor *pc; 00167 00168 if ((pc = rt_pclist.lh_first)) return false; 00169 else return true; 00170 }
|
|
|
Definition at line 116 of file aodv_rtable.cc. References LIST_INSERT_HEAD, pc_lookup(), and rt_pclist. 00117 { 00118 if (pc_lookup(id) == NULL) { 00119 AODV_Precursor *pc = new AODV_Precursor(id); 00120 00121 assert(pc); 00122 LIST_INSERT_HEAD(&rt_pclist, pc, pc_link); 00123 } 00124 }
Here is the call graph for this function: ![]() |
|
|
Definition at line 128 of file aodv_rtable.cc. References AODV_Precursor::pc_addr, and rt_pclist. Referenced by pc_insert(). 00129 { 00130 AODV_Precursor *pc = rt_pclist.lh_first; 00131 00132 for(; pc; pc = pc->pc_link.le_next) { 00133 if(pc->pc_addr == id) 00134 return pc; 00135 } 00136 return NULL; 00137 00138 }
|
|
|
Definition at line 83 of file aodv_rtable.h. |
|
|
Definition at line 82 of file aodv_rtable.h. |
|
|
Definition at line 84 of file aodv_rtable.h. |
|
|
Definition at line 130 of file aodv_rtable.h. Referenced by AODV::recvReply(). |
|
|
Definition at line 129 of file aodv_rtable.h. Referenced by aodv_rt_entry(), AODV::PerHopTime(), and AODV::recvReply(). |
|
|
Definition at line 104 of file aodv_rtable.h. Referenced by aodv_rt_entry(), AODV::handle_link_failure(), AODV::local_rt_repair(), AODV::recvError(), AODV::recvReply(), AODV::recvRequest(), aodv_rtable::rt_add(), aodv_rtable::rt_lookup(), AODV::rt_purge(), AODV::rt_resolve(), and AODV::sendRequest(). |
|
|
Definition at line 112 of file aodv_rtable.h. Referenced by aodv_rt_entry(), AODV::forward(), AODV::recvRequest(), AODV::rt_down(), AODV::rt_purge(), AODV::rt_update(), and AODV::sendRequest(). |
|
|
Definition at line 113 of file aodv_rtable.h. Referenced by aodv_rt_entry(), AODV::forward(), LocalRepairTimer::handle(), AODV::handle_link_failure(), AODV::local_rt_repair(), AODV::recvError(), AODV::recvReply(), AODV::recvRequest(), AODV::rt_down(), AODV::rt_purge(), AODV::rt_resolve(), AODV::rt_update(), and AODV::sendRequest(). |
|
|
Definition at line 107 of file aodv_rtable.h. Referenced by aodv_rt_entry(), AODV::handle_link_failure(), AODV::recvError(), AODV::recvReply(), AODV::recvRequest(), AODV::rt_down(), AODV::rt_purge(), AODV::rt_resolve(), AODV::rt_update(), and AODV::sendRequest(). |
|
|
Definition at line 108 of file aodv_rtable.h. Referenced by aodv_rt_entry(), AODV::rt_down(), and AODV::sendRequest(). |
|
|
Definition at line 139 of file aodv_rtable.h. Referenced by nb_insert(), nb_lookup(), and ~aodv_rt_entry(). |
|
|
Definition at line 109 of file aodv_rtable.h. Referenced by aodv_rt_entry(), AODV::forward(), AODV::handle_link_failure(), AODV::recvError(), AODV::rt_down(), AODV::rt_update(), and AODV::sendReply(). |
|
|
Definition at line 111 of file aodv_rtable.h. Referenced by aodv_rt_entry(), pc_delete(), pc_empty(), pc_insert(), pc_lookup(), and ~aodv_rt_entry(). |
|
|
Definition at line 99 of file aodv_rtable.h. Referenced by aodv_rt_entry(), AODV::recvReply(), AODV::recvRequest(), and AODV::sendRequest(). |
|
|
Definition at line 131 of file aodv_rtable.h. Referenced by AODV::recvReply(), AODV::recvRequest(), and AODV::sendRequest(). |
|
|
Definition at line 98 of file aodv_rtable.h. Referenced by aodv_rt_entry(), AODV::local_rt_repair(), AODV::recvReply(), AODV::recvRequest(), and AODV::sendRequest(). |
|
|
Definition at line 105 of file aodv_rtable.h. Referenced by aodv_rt_entry(), AODV::handle_link_failure(), AODV::recvError(), AODV::recvReply(), AODV::recvRequest(), AODV::rt_purge(), AODV::rt_update(), and AODV::sendRequest(). |
1.4.6