Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

rt_entry Class Reference

#include <rttable.h>

Collaboration diagram for rt_entry:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 rt_entry ()
 ~rt_entry ()
void nb_insert (nsaddr_t id)
Neighbornb_lookup (nsaddr_t id)

Protected Member Functions

 LIST_ENTRY (rt_entry) rt_link

Protected Attributes

nsaddr_t rt_dst
u_int32_t rt_seqno
nsaddr_t rt_nexthop
double rt_expire
u_int16_t rt_hops
u_int8_t rt_flags
u_int8_t rt_errors
double rt_error_time
double rt_req_timeout
u_int8_t rt_req_cnt
int rt_req_last_ttl
double rt_disc_latency [MAX_HISTORY]
char hist_indx
ncache rt_nblist
int error_propagate_counter

Friends

class rttable
class AODV
class LocalRepairTimer

Constructor & Destructor Documentation

rt_entry::rt_entry  ) 
 

Definition at line 53 of file rttable.cc.

References error_propagate_counter, hist_indx, INFINITY2, LIST_INIT, MAX_HISTORY, rt_disc_latency, rt_dst, rt_error_time, rt_errors, rt_expire, rt_flags, rt_hops, rt_nblist, rt_nexthop, rt_req_cnt, rt_req_last_ttl, rt_req_timeout, rt_seqno, and RTF_DOWN.

00054 {
00055         int i;
00056 
00057         rt_dst = 0;
00058         rt_seqno = 0;
00059         rt_nexthop = 0;
00060         rt_expire = 0.0;
00061         rt_hops = INFINITY2;
00062         rt_flags = RTF_DOWN;
00063 
00064         rt_errors = 0;
00065         rt_error_time = 0.0;
00066 
00067         rt_req_timeout = 0.0;
00068         rt_req_cnt = 0;
00069         rt_req_last_ttl = 0;
00070         hist_indx = 0;
00071 
00072         for (i=0; i < MAX_HISTORY; i++) {
00073                 // rt_length[i] = 0;
00074                 rt_disc_latency[i] = 0.0;
00075         }
00076                 error_propagate_counter = 0;
00077         LIST_INIT(&rt_nblist);
00078 };

rt_entry::~rt_entry  ) 
 

Definition at line 81 of file rttable.cc.

References LIST_REMOVE, and rt_nblist.

00082 {
00083         Neighbor *nb;
00084 
00085         while((nb = rt_nblist.lh_first)) {
00086                 LIST_REMOVE(nb, nb_link);
00087                 delete nb;
00088         }
00089 }


Member Function Documentation

rt_entry::LIST_ENTRY rt_entry   )  [protected]
 

void rt_entry::nb_insert nsaddr_t  id  ) 
 

Definition at line 93 of file rttable.cc.

References LIST_INSERT_HEAD, Neighbor::nb_expire, and rt_nblist.

00094 {
00095         Neighbor *nb = new Neighbor(id);
00096         assert(nb);
00097 
00098         nb->nb_expire = 0;
00099         LIST_INSERT_HEAD(&rt_nblist, nb, nb_link);
00100 }

Neighbor * rt_entry::nb_lookup nsaddr_t  id  ) 
 

Definition at line 104 of file rttable.cc.

References Neighbor::nb_addr, and rt_nblist.

00105 {
00106         Neighbor *nb = rt_nblist.lh_first;
00107 
00108         for(; nb; nb = nb->nb_link.le_next) {
00109                 if(nb->nb_addr == id)
00110                         break;
00111         }
00112         return nb;
00113 }


Friends And Related Function Documentation

friend class AODV [friend]
 

Definition at line 84 of file rttable.h.

friend class LocalRepairTimer [friend]
 

Definition at line 85 of file rttable.h.

friend class rttable [friend]
 

Definition at line 83 of file rttable.h.


Member Data Documentation

int rt_entry::error_propagate_counter [protected]
 

Definition at line 133 of file rttable.h.

Referenced by rt_entry().

char rt_entry::hist_indx [protected]
 

Definition at line 121 of file rttable.h.

Referenced by rt_entry().

double rt_entry::rt_disc_latency[MAX_HISTORY] [protected]
 

Definition at line 120 of file rttable.h.

Referenced by rt_entry().

nsaddr_t rt_entry::rt_dst [protected]
 

Definition at line 95 of file rttable.h.

Referenced by rttable::rt_add(), rt_entry(), and rttable::rt_lookup().

double rt_entry::rt_error_time [protected]
 

Definition at line 111 of file rttable.h.

Referenced by rt_entry().

u_int8_t rt_entry::rt_errors [protected]
 

Definition at line 110 of file rttable.h.

Referenced by rt_entry().

double rt_entry::rt_expire [protected]
 

Definition at line 99 of file rttable.h.

Referenced by rt_entry().

u_int8_t rt_entry::rt_flags [protected]
 

Definition at line 101 of file rttable.h.

Referenced by rt_entry().

u_int16_t rt_entry::rt_hops [protected]
 

Definition at line 100 of file rttable.h.

Referenced by rt_entry().

ncache rt_entry::rt_nblist [protected]
 

Definition at line 129 of file rttable.h.

Referenced by nb_insert(), nb_lookup(), rt_entry(), and ~rt_entry().

nsaddr_t rt_entry::rt_nexthop [protected]
 

Definition at line 97 of file rttable.h.

Referenced by rt_entry().

u_int8_t rt_entry::rt_req_cnt [protected]
 

Definition at line 116 of file rttable.h.

Referenced by rt_entry().

int rt_entry::rt_req_last_ttl [protected]
 

Definition at line 117 of file rttable.h.

Referenced by rt_entry().

double rt_entry::rt_req_timeout [protected]
 

Definition at line 115 of file rttable.h.

Referenced by rt_entry().

u_int32_t rt_entry::rt_seqno [protected]
 

Definition at line 96 of file rttable.h.

Referenced by rt_entry().


The documentation for this class was generated from the following files:
Generated on Tue Apr 20 13:16:45 2004 for NS2.26SourcesOriginal by doxygen 1.3.3