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

SRMinfo Class Reference

#include <srm-state.h>

Collaboration diagram for SRMinfo:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SRMinfo (int sender)
 ~SRMinfo ()
char ifReceived (int id)
char setReceived (int id)
char resetReceived (int id)

Public Attributes

SRMinfonext_
int sender_
int lsess_
int sendTime_
int recvTime_
double distance_
int lglbsess_
int llocsess_
int lrepsess_
int repid_
int senderFlag_
int scopeFlag_
int activeFlag_
int distanceFlag_
int ldata_

Protected Member Functions

void resize (int id)

Protected Attributes

char * received_
int recvmax_

Constructor & Destructor Documentation

SRMinfo::SRMinfo int  sender  )  [inline]
 

Definition at line 95 of file srm-state.h.

References ACTIVE, activeFlag_, distance_, distanceFlag_, ldata_, lglbsess_, llocsess_, lrepsess_, lsess_, next_, NO_DISTANCE, received_, recvmax_, recvTime_, sender_, senderFlag_, and sendTime_.

00095                             : next_(0), sender_(sender),
00096                 lsess_(-1), sendTime_(0), recvTime_(0), distance_(1.0),
00097                 senderFlag_(0), activeFlag_(ACTIVE), distanceFlag_(NO_DISTANCE),
00098                 ldata_(-1), received_(0), recvmax_(-1) { 
00099                     lglbsess_ = -1;
00100                     llocsess_ = -1;
00101                     lrepsess_ = -1;
00102                    }

SRMinfo::~SRMinfo  )  [inline]
 

Definition at line 103 of file srm-state.h.

References received_.

00103 { delete[] received_; }


Member Function Documentation

char SRMinfo::ifReceived int  id  )  [inline]
 

Definition at line 105 of file srm-state.h.

References received_, recvmax_, and resize().

Referenced by resetReceived(), and setReceived().

00105                                 {
00106                 assert(id >= 0);
00107                 if (id >= recvmax_)
00108                         resize(id);
00109                 return (received_[id / 8] & (1 << (id % 8)));
00110         }

Here is the call graph for this function:

char SRMinfo::resetReceived int  id  )  [inline]
 

Definition at line 116 of file srm-state.h.

References ifReceived(), and received_.

00116                                    {
00117                 int obit = ifReceived(id);
00118                 received_[id / 8] &= ~(1 << (id % 8));
00119                 return obit;
00120         }

Here is the call graph for this function:

void SRMinfo::resize int  id  )  [inline, protected]
 

Definition at line 72 of file srm-state.h.

References BITVEC_SIZE_DEFAULT, received_, and recvmax_.

Referenced by ifReceived().

00072                             {
00073                 if (! received_) {
00074                         received_ = new char[BITVEC_SIZE_DEFAULT];
00075                         recvmax_ = BITVEC_SIZE_DEFAULT * sizeof(char);
00076                         (void) memset(received_, '\0', BITVEC_SIZE_DEFAULT);
00077                 }
00078                 if (recvmax_ <= id) {
00079                         int osize, nsize;
00080                         nsize = osize = recvmax_;
00081                         while (nsize <= id)
00082                                 nsize *= 2;
00083                         osize /= sizeof(char);
00084                         nsize /= sizeof(char);
00085                         char* nvec = new char[nsize];
00086                         (void) memcpy(nvec, received_, osize);
00087                         (void) memset(nvec + osize, '\0', osize);
00088                         delete[] received_;
00089                         received_ = nvec;
00090                         recvmax_ = nsize;
00091                 }
00092         }       

char SRMinfo::setReceived int  id  )  [inline]
 

Definition at line 111 of file srm-state.h.

References ifReceived(), and received_.

00111                                  {
00112                 int obit = ifReceived(id);
00113                 received_[id / 8] |= (1 << (id % 8));
00114                 return obit;
00115         }

Here is the call graph for this function:


Member Data Documentation

int SRMinfo::activeFlag_
 

Definition at line 59 of file srm-state.h.

Referenced by SRMinfo().

double SRMinfo::distance_
 

Definition at line 47 of file srm-state.h.

Referenced by SSMSRMAgent::command(), SRMinfo(), and SRMAgent::start().

int SRMinfo::distanceFlag_
 

Definition at line 63 of file srm-state.h.

Referenced by SRMinfo().

int SRMinfo::ldata_
 

Definition at line 66 of file srm-state.h.

Referenced by SRMinfo().

int SRMinfo::lglbsess_
 

Definition at line 51 of file srm-state.h.

Referenced by SRMinfo().

int SRMinfo::llocsess_
 

Definition at line 52 of file srm-state.h.

Referenced by SRMinfo().

int SRMinfo::lrepsess_
 

Definition at line 53 of file srm-state.h.

Referenced by SRMinfo().

int SRMinfo::lsess_
 

Definition at line 44 of file srm-state.h.

Referenced by SRMinfo().

SRMinfo* SRMinfo::next_
 

Definition at line 39 of file srm-state.h.

Referenced by SRMAgent::get_state(), SRMinfo(), SRMAgent::start(), and SSMSRMAgent::timeout_info().

char* SRMinfo::received_ [protected]
 

Definition at line 68 of file srm-state.h.

Referenced by ifReceived(), resetReceived(), resize(), setReceived(), SRMinfo(), and ~SRMinfo().

int SRMinfo::recvmax_ [protected]
 

Definition at line 69 of file srm-state.h.

Referenced by ifReceived(), resize(), and SRMinfo().

int SRMinfo::recvTime_
 

Definition at line 46 of file srm-state.h.

Referenced by SRMinfo().

int SRMinfo::repid_
 

Definition at line 54 of file srm-state.h.

Referenced by SSMSRMAgent::command().

int SRMinfo::scopeFlag_
 

Definition at line 56 of file srm-state.h.

Referenced by SSMSRMAgent::command().

int SRMinfo::sender_
 

Definition at line 41 of file srm-state.h.

Referenced by SRMAgent::command(), SSMSRMAgent::command(), SRMinfo(), and SRMAgent::start().

int SRMinfo::senderFlag_
 

Definition at line 55 of file srm-state.h.

Referenced by SRMinfo().

int SRMinfo::sendTime_
 

Definition at line 45 of file srm-state.h.

Referenced by SRMinfo().


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