In_List Class Reference

#include <iflist.h>

Inheritance diagram for In_List:

Agent_List Collaboration diagram for In_List:

Collaboration graph
[legend]

Detailed Description

Definition at line 168 of file iflist.h.

Public Member Functions

PrvCurPtr Find (Agent_List **, ns_addr_t)
In_ListFindMaxIn ()
void FreeAll (Agent_List **)
 In_List ()
void InsertFront (Agent_List **, Agent_List *)
virtual void print ()
void Remove (Agent_List **, Agent_List *)
void Union (Agent_List **, Agent_List *)
virtual ~In_List ()

Data Fields

ns_addr_t agent_addr
double avg_delay
double last_ts_new_sub
int new_org_recv
int new_sub_recv
Agent_Listnext
int num_loss
int num_neg_send
int num_pos_send
int old_org_recv
int prev_received
int total_new_org_recv
int total_new_sub_recv
int total_old_org_recv
int total_received
double var_delay


Constructor & Destructor Documentation

In_List::In_List  )  [inline]
 

Definition at line 186 of file iflist.h.

References avg_delay, last_ts_new_sub, new_org_recv, new_sub_recv, num_loss, num_neg_send, num_pos_send, old_org_recv, prev_received, total_new_org_recv, total_new_sub_recv, total_old_org_recv, total_received, and var_delay.

00186             : Agent_List() { 
00187     avg_delay =0; 
00188     var_delay =0; 
00189     total_received=0;
00190     prev_received =0; 
00191     num_loss =0; 
00192     num_neg_send = 0;
00193     num_pos_send = 0;
00194 
00195     total_new_org_recv=0;
00196     total_old_org_recv=0;
00197     total_new_sub_recv=0; 
00198 
00199     new_org_recv=0;
00200     old_org_recv=0;
00201     new_sub_recv=0; 
00202 
00203     last_ts_new_sub = -1.0;
00204   }

virtual In_List::~In_List  )  [inline, virtual]
 

Definition at line 206 of file iflist.h.

00206 {}


Member Function Documentation

PrvCurPtr Agent_List::Find Agent_List **  ,
ns_addr_t 
[inherited]
 

Definition at line 91 of file iflist.cc.

References ns_addr_t::addr_, PrvCurPtr::cur, Agent_List::next, NODE_ADDR, PORT, ns_addr_t::port_, and PrvCurPtr::prv.

Referenced by Agent_List::Union().

00092 {
00093   PrvCurPtr RetVal;
00094   Agent_List **prv, *cur;
00095 
00096   for (prv= start, cur=*start; cur != NULL; prv= &(cur->next), cur=cur->next) {
00097     if ( NODE_ADDR(cur) == addr.addr_ && PORT(cur)==addr.port_) 
00098       break;
00099   }
00100  
00101   RetVal.prv = prv;
00102   RetVal.cur = cur;
00103 
00104   return RetVal;
00105 }

In_List * In_List::FindMaxIn  ) 
 

Definition at line 135 of file iflist.cc.

References IN_NEXT, PREV_RECV, and TOTAL_RECV.

00136 {
00137   In_List *cur_in, *max_in;
00138   int     max_diff;
00139 
00140   max_in = NULL;
00141   max_diff = 0;
00142 
00143   for (cur_in = this; cur_in != NULL;
00144        cur_in = IN_NEXT(cur_in) ) {
00145     if ( TOTAL_RECV(cur_in) - PREV_RECV(cur_in) > max_diff) {
00146       max_diff = TOTAL_RECV(cur_in) - PREV_RECV(cur_in);
00147       max_in = cur_in;
00148     }
00149   }
00150 
00151   return max_in;
00152 }

void Agent_List::FreeAll Agent_List **   )  [inherited]
 

Definition at line 77 of file iflist.cc.

References Agent_List::next.

00078 {
00079   Agent_List *temp;
00080   Agent_List *next;
00081 
00082   for (temp = *prev; temp != NULL; temp=next) {
00083     next = temp->next;
00084     delete temp;
00085   }
00086 
00087   *prev = NULL;
00088 }

void Agent_List::InsertFront Agent_List **  ,
Agent_List
[inherited]
 

Definition at line 58 of file iflist.cc.

References Agent_List::next.

Referenced by Agent_List::Union().

00059 {
00060   if (cur == NULL)
00061      return;
00062 
00063   cur->next = *start;
00064   *start = cur;
00065 }

void Agent_List::print  )  [virtual, inherited]
 

Definition at line 125 of file iflist.cc.

References ns_addr_t::addr_, Agent_List::agent_addr, Agent_List::next, and ns_addr_t::port_.

00126 {
00127   Agent_List *cur;
00128 
00129   for (cur=this; cur!=NULL; cur=cur->next) {
00130     printf("(%d,%d)\n", cur->agent_addr.addr_, cur->agent_addr.port_);
00131   }
00132 }

void Agent_List::Remove Agent_List **  ,
Agent_List
[inherited]
 

Definition at line 68 of file iflist.cc.

References Agent_List::next.

00069 {
00070   if (cur == NULL)
00071     return;
00072 
00073   *prev = cur->next;  
00074 }

void Agent_List::Union Agent_List **  ,
Agent_List
[inherited]
 

Definition at line 110 of file iflist.cc.

References AGENT_NEXT, AGT_ADDR, PrvCurPtr::cur, Agent_List::Find(), and Agent_List::InsertFront().

00111 {
00112   PrvCurPtr RetVal;
00113   Agent_List *dupAgent;
00114   
00115   for (Agent_List *cur=list1; cur != NULL; cur=AGENT_NEXT(cur)) {
00116     RetVal = Find(result, AGT_ADDR(cur));
00117     if (RetVal.cur == NULL) {
00118       dupAgent = new Agent_List;
00119       *dupAgent = *cur;
00120       InsertFront(result, dupAgent);
00121     }
00122   }
00123 }

Here is the call graph for this function:


Field Documentation

ns_addr_t Agent_List::agent_addr [inherited]
 

Definition at line 116 of file iflist.h.

Referenced by Agent_List::Agent_List(), and Agent_List::print().

double In_List::avg_delay
 

Definition at line 170 of file iflist.h.

Referenced by In_List().

double In_List::last_ts_new_sub
 

Definition at line 184 of file iflist.h.

Referenced by In_List().

int In_List::new_org_recv
 

Definition at line 181 of file iflist.h.

Referenced by In_List().

int In_List::new_sub_recv
 

Definition at line 183 of file iflist.h.

Referenced by In_List().

Agent_List* Agent_List::next [inherited]
 

Definition at line 117 of file iflist.h.

Referenced by Agent_List::Agent_List(), DiffusionRate::consider_new(), DiffusionProb::consider_new(), DiffusionProb::consider_old(), OmniMcastAgent::ConsiderNew(), FloodingAgent::ConsiderNew(), Agent_List::Find(), Agent_List::FreeAll(), Agent_List::InsertFront(), Agent_List::print(), and Agent_List::Remove().

int In_List::num_loss
 

Definition at line 174 of file iflist.h.

Referenced by In_List().

int In_List::num_neg_send
 

Definition at line 175 of file iflist.h.

Referenced by In_List().

int In_List::num_pos_send
 

Definition at line 176 of file iflist.h.

Referenced by In_List().

int In_List::old_org_recv
 

Definition at line 182 of file iflist.h.

Referenced by In_List().

int In_List::prev_received
 

Definition at line 173 of file iflist.h.

Referenced by DiffusionProb::FwdPosReinf(), DiffusionProb::GenPosReinf(), and In_List().

int In_List::total_new_org_recv
 

Definition at line 178 of file iflist.h.

Referenced by In_List().

int In_List::total_new_sub_recv
 

Definition at line 180 of file iflist.h.

Referenced by In_List().

int In_List::total_old_org_recv
 

Definition at line 179 of file iflist.h.

Referenced by In_List().

int In_List::total_received
 

Definition at line 172 of file iflist.h.

Referenced by DiffusionProb::FwdPosReinf(), DiffusionProb::GenPosReinf(), and In_List().

double In_List::var_delay
 

Definition at line 171 of file iflist.h.

Referenced by In_List().


The documentation for this class was generated from the following files:
Generated on Tue Mar 6 17:11:25 2007 for ns2 Network Simulator 2.29 by  doxygen 1.4.6