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

RenoAckFSM Class Reference

#include <fsm.h>

Inheritance diagram for RenoAckFSM:

Inheritance graph
[legend]
Collaboration diagram for RenoAckFSM:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 RenoAckFSM ()
FSMStatestart_state ()

Static Public Member Functions

RenoAckFSMinstance ()
void print_FSM (FSMState *state)
void print_FSM_stats (FSMState *state, int n)

Protected Attributes

FSMStatestart_state_

Static Protected Attributes

RenoAckFSMinstance_

Constructor & Destructor Documentation

RenoAckFSM::RenoAckFSM  ) 
 

Definition at line 837 of file fsm.cc.

References FSMState::batch_size_, FSMState::drop_, instance_, RTT, start_state_, TIMEOUT, and FSMState::transition_.

00837                        : FSM(), start_state_(NULL) 
00838 {
00839         int i;
00840         FSMState* tmp;
00841         //printf("creating Reno Ack FSM\n");
00842 
00843         instance_ = this;
00844         // (wnd, ssh) == (1, 20)
00845         start_state_ = new FSMState;
00846         for (i=0; i<17; i++) {
00847                 start_state_->drop_[i] = NULL;
00848                 start_state_->transition_[i] = -1;
00849         }
00850         start_state_->batch_size_ = 1;
00851 
00852         // (wnd, ssh) == (2, 20)
00853         tmp = new FSMState;
00854         for (i=0; i<17; i++) {
00855                 tmp->drop_[i] = NULL;
00856                 tmp->transition_[i] = -1;
00857         }
00858         tmp->batch_size_ = 2;
00859         start_state_->drop_[0] = tmp;
00860         start_state_->transition_[0] = RTT;
00861 
00862         tmp = new FSMState;
00863         for (i=0; i<17; i++) {
00864                 tmp->drop_[i] = NULL;
00865                 tmp->transition_[i] = -1;
00866         }
00867         tmp->batch_size_ = 2;
00868         start_state_->drop_[0]->drop_[2] = tmp;
00869         start_state_->drop_[0]->transition_[2] = RTT;
00870 
00871         // (wnd, ssh) == (4, 20)
00872         tmp = new FSMState;
00873         for (i=0; i<17; i++) {
00874                 tmp->drop_[i] = NULL;
00875                 tmp->transition_[i] = -1;
00876         }
00877         tmp->batch_size_ = 4;
00878         start_state_->drop_[0]->drop_[0] = tmp;
00879         start_state_->drop_[0]->transition_[0] = RTT;
00880 
00881         tmp = new FSMState;
00882         for (i=0; i<17; i++) {
00883                 tmp->drop_[i] = NULL;
00884                 tmp->transition_[i] = -1;
00885         }
00886         tmp->batch_size_ = 2;
00887         start_state_->drop_[0]->drop_[0]->drop_[2] = tmp;
00888         start_state_->drop_[0]->drop_[0]->transition_[2] = RTT;
00889 
00890         tmp = new FSMState;
00891         for (i=0; i<17; i++) {
00892                 tmp->drop_[i] = NULL;
00893                 tmp->transition_[i] = -1;
00894         }
00895         tmp->batch_size_ = 4;
00896         start_state_->drop_[0]->drop_[0]->drop_[3] = tmp;
00897         start_state_->drop_[0]->drop_[0]->transition_[3] = RTT;
00898 
00899         tmp = new FSMState;
00900         for (i=0; i<17; i++) {
00901                 tmp->drop_[i] = NULL;
00902                 tmp->transition_[i] = -1;
00903         }
00904         tmp->batch_size_ = 6;
00905         start_state_->drop_[0]->drop_[0]->drop_[4] = tmp;
00906         start_state_->drop_[0]->drop_[0]->transition_[4] = RTT;
00907 
00908         //(wnd, ssh) == (8, 20)
00909         tmp = new FSMState;
00910         for (i=0; i<17; i++) {
00911                 tmp->drop_[i] = NULL;
00912                 tmp->transition_[i] = -1;
00913         }
00914         tmp->batch_size_ = 8;
00915         start_state_->drop_[0]->drop_[0]->drop_[0] = tmp;
00916         start_state_->drop_[0]->drop_[0]->transition_[0] = RTT;
00917 
00918         tmp = new FSMState;
00919         for (i=0; i<17; i++) {
00920                 tmp->drop_[i] = NULL;
00921                 tmp->transition_[i] = -1;
00922         }
00923         tmp->batch_size_ = 4;
00924         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[3] = tmp;
00925         start_state_->drop_[0]->drop_[0]->drop_[0]->transition_[3] = RTT;
00926 
00927         tmp = new FSMState;
00928         for (i=0; i<17; i++) {
00929                 tmp->drop_[i] = NULL;
00930                 tmp->transition_[i] = -1;
00931         }
00932         tmp->batch_size_ = 6;
00933         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[4] = tmp;
00934         start_state_->drop_[0]->drop_[0]->drop_[0]->transition_[4] = RTT;
00935 
00936         tmp = new FSMState;
00937         for (i=0; i<17; i++) {
00938                 tmp->drop_[i] = NULL;
00939                 tmp->transition_[i] = -1;
00940         }
00941         tmp->batch_size_ = 8;
00942         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[5] = tmp;
00943         start_state_->drop_[0]->drop_[0]->drop_[0]->transition_[5] = RTT;
00944 
00945         tmp = new FSMState;
00946         for (i=0; i<17; i++) {
00947                 tmp->drop_[i] = NULL;
00948                 tmp->transition_[i] = -1;
00949         }
00950         tmp->batch_size_ = 10;
00951         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[6] = tmp;
00952         start_state_->drop_[0]->drop_[0]->drop_[0]->transition_[6] = RTT;
00953 
00954 
00955         tmp = new FSMState;
00956         for (i=0; i<17; i++) {
00957                 tmp->drop_[i] = NULL;
00958                 tmp->transition_[i] = -1;
00959         }
00960         tmp->batch_size_ = 6;
00961         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[6]->drop_[0] = tmp;
00962         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[6]->transition_[0] = RTT;
00963 
00964         tmp = new FSMState;
00965         for (i=0; i<17; i++) {
00966                 tmp->drop_[i] = NULL;
00967                 tmp->transition_[i] = -1;
00968         }
00969         tmp->batch_size_ = 12;
00970         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[7] = tmp;
00971         start_state_->drop_[0]->drop_[0]->drop_[0]->transition_[7] = RTT;
00972 
00973         tmp = new FSMState;
00974         for (i=0; i<17; i++) {
00975                 tmp->drop_[i] = NULL;
00976                 tmp->transition_[i] = -1;
00977         }
00978         tmp->batch_size_ = 14;
00979         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[8] = tmp;
00980         start_state_->drop_[0]->drop_[0]->drop_[0]->transition_[8] = RTT;
00981 
00982         //(wnd, ssh) == (16, 20)
00983         tmp = new FSMState;
00984         for (i=0; i<17; i++) {
00985                 tmp->drop_[i] = NULL;
00986                 tmp->transition_[i] = -1;
00987         }
00988         tmp->batch_size_ = 16;
00989         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[0] = tmp;
00990         start_state_->drop_[0]->drop_[0]->drop_[0]->transition_[0] = RTT;
00991 
00992         tmp = new FSMState;
00993         for (i=0; i<17; i++) {
00994                 tmp->drop_[i] = NULL;
00995                 tmp->transition_[i] = -1;
00996         }
00997         tmp->batch_size_ = 1;
00998         for (i=1; i<17; i++) start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[i] = tmp;
00999         for (i=1; i<14; i++)
01000                 start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[0]->transition_[i] = RTT;
01001         for (i=14; i<17; i++)
01002                 start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[0]->transition_[i] = TIMEOUT;
01003 
01004         //(wnd, ssh) == (1, 2), timeout
01005         tmp = new FSMState;
01006         for (i=0; i<17; i++) {
01007                 tmp->drop_[i] = NULL;
01008                 tmp->transition_[i] = -1;
01009         }
01010         tmp->batch_size_ = 1;
01011         start_state_->drop_[1] = tmp;
01012         start_state_->transition_[1] = TIMEOUT;
01013         start_state_->drop_[0]->drop_[1] = tmp;
01014         start_state_->drop_[0]->transition_[1] = TIMEOUT;
01015         start_state_->drop_[0]->drop_[2]->drop_[0] = tmp;
01016         start_state_->drop_[0]->drop_[2]->transition_[0] = TIMEOUT;
01017 
01018         //(wnd, ssh) == (2, 2)
01019         tmp = new FSMState;
01020         for (i=0; i<17; i++) {
01021                 tmp->drop_[i] = NULL;
01022                 tmp->transition_[i] = -1;
01023         }
01024         tmp->batch_size_ = 2;
01025         start_state_->drop_[1]->drop_[0] = tmp;
01026         start_state_->drop_[1]->transition_[0] = RTT;
01027         start_state_->drop_[0]->drop_[0]->drop_[1] = tmp;
01028         start_state_->drop_[0]->drop_[0]->transition_[1] = RTT;
01029         start_state_->drop_[0]->drop_[0]->drop_[2]->drop_[0] = tmp;
01030         start_state_->drop_[0]->drop_[0]->drop_[2]->transition_[0] = RTT;
01031 
01032         //(wnd, ssh) == (2.5, 2)
01033         tmp = new FSMState;
01034         for (i=0; i<17; i++) {
01035                 tmp->drop_[i] = NULL;
01036                 tmp->transition_[i] = -1;
01037         }
01038         tmp->batch_size_ = 2;
01039         start_state_->drop_[1]->drop_[0]->drop_[0] = tmp;
01040         start_state_->drop_[1]->drop_[0]->transition_[0] = RTT;
01041 
01042         //(wnd, ssh) == (3, 2)
01043         tmp = new FSMState;
01044         for (i=0; i<17; i++) {
01045                 tmp->drop_[i] = NULL;
01046                 tmp->transition_[i] = -1;
01047         }
01048         tmp->batch_size_ = 3;
01049         start_state_->drop_[1]->drop_[0]->drop_[0]->drop_[0] = tmp;
01050         start_state_->drop_[1]->drop_[0]->drop_[0]->transition_[0] = RTT;
01051 
01052         //(wnd, ssh) == (4, 2)
01053         tmp = new FSMState;
01054         for (i=0; i<17; i++) {
01055                 tmp->drop_[i] = NULL;
01056                 tmp->transition_[i] = -1;
01057         }
01058         tmp->batch_size_ = 4;
01059         start_state_->drop_[1]->drop_[0]->drop_[0]->drop_[0]->drop_[0] = tmp;
01060         start_state_->drop_[1]->drop_[0]->drop_[0]->drop_[0]->transition_[0] = RTT;
01061 
01062         //(wnd, ssh) == (5, 2)
01063         tmp = new FSMState;
01064         for (i=0; i<17; i++) {
01065                 tmp->drop_[i] = NULL;
01066                 tmp->transition_[i] = -1;
01067         }
01068         tmp->batch_size_ = 5;
01069         start_state_->drop_[1]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0] = tmp;
01070         start_state_->drop_[1]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->transition_[0] = RTT;
01071 
01072         //(wnd, ssh) == (6, 2)
01073         tmp = new FSMState;
01074         for (i=0; i<17; i++) {
01075                 tmp->drop_[i] = NULL;
01076                 tmp->transition_[i] = -1;
01077         }
01078         tmp->batch_size_ = 6;
01079         start_state_->drop_[1]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0] = tmp;
01080         start_state_->drop_[1]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->transition_[0] = RTT;
01081 
01082         //(wnd, ssh) == (7, 2)
01083         tmp = new FSMState;
01084         for (i=0; i<17; i++) {
01085                 tmp->drop_[i] = NULL;
01086                 tmp->transition_[i] = -1;
01087         }
01088         tmp->batch_size_ = 7;
01089         start_state_->drop_[1]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0] = tmp;
01090         start_state_->drop_[1]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->transition_[0] = RTT;
01091 
01092         //(wnd, ssh) == (7.5, 2)
01093         tmp = new FSMState;
01094         for (i=0; i<17; i++) {
01095                 tmp->drop_[i] = NULL;
01096                 tmp->transition_[i] = -1;
01097         }
01098         tmp->batch_size_ = 7;
01099         start_state_->drop_[1]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0] = tmp;
01100         start_state_->drop_[1]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->transition_[0] = RTT;
01101 
01102 
01103         //(wnd, ssh) == (3, 3)
01104         tmp = new FSMState;
01105         for (i=0; i<17; i++) {
01106                 tmp->drop_[i] = NULL;
01107                 tmp->transition_[i] = -1;
01108         }
01109         tmp->batch_size_ = 3;
01110         start_state_->drop_[0]->drop_[0]->drop_[3]->drop_[0] = tmp;
01111         start_state_->drop_[0]->drop_[0]->drop_[3]->transition_[0] = RTT;
01112         start_state_->drop_[0]->drop_[0]->drop_[4]->drop_[0] = tmp;
01113         start_state_->drop_[0]->drop_[0]->drop_[4]->transition_[0] = RTT;
01114 
01115         tmp = new FSMState;
01116         for (i=0; i<17; i++) {
01117                 tmp->drop_[i] = NULL;
01118                 tmp->transition_[i] = -1;
01119         }
01120         tmp->batch_size_ = 3;
01121         start_state_->drop_[0]->drop_[0]->drop_[3]->drop_[0]->drop_[0] = tmp;
01122         start_state_->drop_[0]->drop_[0]->drop_[3]->drop_[0]->transition_[0] = RTT;
01123 
01124         tmp = new FSMState;
01125         for (i=0; i<17; i++) {
01126                 tmp->drop_[i] = NULL;
01127                 tmp->transition_[i] = -1;
01128         }
01129         tmp->batch_size_ = 4;
01130         start_state_->drop_[0]->drop_[0]->drop_[3]->drop_[0]->drop_[0]->drop_[0] = tmp;
01131         start_state_->drop_[0]->drop_[0]->drop_[3]->drop_[0]->drop_[0]->transition_[0] = RTT;
01132 
01133         tmp = new FSMState;
01134         for (i=0; i<17; i++) {
01135                 tmp->drop_[i] = NULL;
01136                 tmp->transition_[i] = -1;
01137         }
01138         tmp->batch_size_ = 5;
01139         start_state_->drop_[0]->drop_[0]->drop_[3]->drop_[0]->drop_[0]->drop_[0]->drop_[0] = tmp;
01140         start_state_->drop_[0]->drop_[0]->drop_[3]->drop_[0]->drop_[0]->drop_[0]->transition_[0] = RTT;
01141 
01142         tmp = new FSMState;
01143         for (i=0; i<17; i++) {
01144                 tmp->drop_[i] = NULL;
01145                 tmp->transition_[i] = -1;
01146         }
01147         tmp->batch_size_ = 6;
01148         start_state_->drop_[0]->drop_[0]->drop_[3]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->drop_[0] = tmp;
01149         start_state_->drop_[0]->drop_[0]->drop_[3]->drop_[0]->drop_[0]->drop_[0]->drop_[0]->transition_[0] = RTT;
01150 
01151 
01152 
01153         //(wnd, ssh) == (4, 4)
01154         tmp = new FSMState;
01155         for (i=0; i<17; i++) {
01156                 tmp->drop_[i] = NULL;
01157                 tmp->transition_[i] = -1;
01158         }
01159         tmp->batch_size_ = 4;
01160         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[1] = tmp;
01161         start_state_->drop_[0]->drop_[0]->drop_[0]->transition_[1] = RTT;
01162         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[2] = tmp;
01163         start_state_->drop_[0]->drop_[0]->drop_[0]->transition_[2] = RTT;
01164 
01165         tmp = new FSMState;
01166         for (i=0; i<17; i++) {
01167                 tmp->drop_[i] = NULL;
01168                 tmp->transition_[i] = -1;
01169         }
01170         tmp->batch_size_ = 4;
01171         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[1]->drop_[0] = tmp;
01172         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[1]->transition_[0] = RTT;
01173 
01174 
01175         tmp = new FSMState;
01176         for (i=0; i<17; i++) {
01177                 tmp->drop_[i] = NULL;
01178                 tmp->transition_[i] = -1;
01179         }
01180         tmp->batch_size_ = 5;
01181         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[1]->drop_[0]->drop_[0] = tmp;
01182         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[1]->drop_[0]->transition_[0] = RTT;
01183 
01184         tmp = new FSMState;
01185         for (i=0; i<17; i++) {
01186                 tmp->drop_[i] = NULL;
01187                 tmp->transition_[i] = -1;
01188         }
01189         tmp->batch_size_ = 6;
01190         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[1]->drop_[0]->drop_[0]->drop_[0] = tmp;
01191         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[1]->drop_[0]->drop_[0]->transition_[0] = RTT;
01192 
01193 
01194         //(wnd, ssh) == (5, 5)  
01195         tmp = new FSMState;
01196         for (i=0; i<17; i++) {
01197                 tmp->drop_[i] = NULL;
01198                 tmp->transition_[i] = -1;
01199         }
01200         tmp->batch_size_ = 1;
01201         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[3]->drop_[0] = tmp;
01202         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[3]->transition_[0] = 0;
01203         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[4]->drop_[0] = tmp;
01204         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[4]->transition_[0] = 0;
01205 
01206         tmp = new FSMState;
01207         for (i=0; i<17; i++) {
01208                 tmp->drop_[i] = NULL;
01209                 tmp->transition_[i] = -1;
01210         }
01211         tmp->batch_size_ = 5;
01212         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[3]->drop_[0]->drop_[0] = tmp;
01213         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[3]->drop_[0]->transition_[0] = RTT;
01214 
01215         tmp = new FSMState;
01216         for (i=0; i<17; i++) {
01217                 tmp->drop_[i] = NULL;
01218                 tmp->transition_[i] = -1;
01219         }
01220         tmp->batch_size_ = 6;
01221         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[3]->drop_[0]->drop_[0]->drop_[0] = tmp;
01222         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[3]->drop_[0]->drop_[0]->transition_[0] = RTT;
01223 
01224         tmp = new FSMState;
01225         for (i=0; i<17; i++) {
01226                 tmp->drop_[i] = NULL;
01227                 tmp->transition_[i] = -1;
01228         }
01229         tmp->batch_size_ = 7;
01230         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[3]->drop_[0]->drop_[0]->drop_[0]->drop_[0] = tmp;
01231         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[3]->drop_[0]->drop_[0]->drop_[0]->transition_[0] = RTT;
01232 
01233         //(wnd, ssh) == (6, 6)
01234         tmp = new FSMState;
01235         for (i=0; i<17; i++) {
01236                 tmp->drop_[i] = NULL;
01237                 tmp->transition_[i] = -1;
01238         }
01239         tmp->batch_size_ = 1;
01240         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[5]->drop_[0] = tmp;
01241         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[5]->transition_[0] = 0;
01242 
01243         tmp = new FSMState;
01244         for (i=0; i<17; i++) {
01245                 tmp->drop_[i] = NULL;
01246                 tmp->transition_[i] = -1;
01247         }
01248         tmp->batch_size_ = 6;
01249         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[5]->drop_[0]->drop_[0] = tmp;
01250         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[5]->drop_[0]->transition_[0] = RTT;
01251         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[6]->drop_[0]->drop_[0] = tmp;
01252         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[6]->drop_[0]->transition_[0] = RTT;
01253 
01254         tmp = new FSMState;
01255         for (i=0; i<17; i++) {
01256                 tmp->drop_[i] = NULL;
01257                 tmp->transition_[i] = -1;
01258         }
01259         tmp->batch_size_ = 7;
01260         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[5]->drop_[0]->drop_[0]->drop_[0] = tmp;
01261         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[5]->drop_[0]->drop_[0]->transition_[0] = RTT;
01262 
01263         //(wnd, ssh) == (7, 7)
01264         tmp = new FSMState;
01265         for (i=0; i<17; i++) {
01266                 tmp->drop_[i] = NULL;
01267                 tmp->transition_[i] = -1;
01268         }
01269         tmp->batch_size_ = 7;
01270         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[7]->drop_[0] = tmp;
01271         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[7]->transition_[0] = RTT;
01272         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[8]->drop_[0] = tmp;
01273         start_state_->drop_[0]->drop_[0]->drop_[0]->drop_[8]->transition_[0] = RTT;
01274 
01275         //print_FSM(start_state_);
01276         //printf("\n");
01277 
01278 }


Member Function Documentation

RenoAckFSM& RenoAckFSM::instance  )  [inline, static]
 

Reimplemented from FSM.

Definition at line 93 of file fsm.h.

Referenced by AbsTcpRenoAckAgent::AbsTcpRenoAckAgent().

00093                                       {
00094                 return (*instance_);           // general access to TahoeAckFSM
00095         }

void FSM::print_FSM FSMState state  )  [static, inherited]
 

Definition at line 256 of file fsm.cc.

References FSMState::batch_size_, FSMState::drop_, FSMState::print_all(), FSMState::reset_all_processed(), and FSMState::transition_.

Referenced by AbsTcpAgent::command().

00257 {
00258 #if 0
00259         int i;
00260 
00261         if (state != NULL) {
00262                 for (i=0; i<17; i++) {
00263                         if (state->drop_[i] != NULL) {
00264                                 if (i==0) 
00265                                         printf("%d->(%d) ", state->transition_[i], state->drop_[i]->batch_size_);
00266                                 else
00267                                         printf("\n%d->(%d) ", state->transition_[i], state->drop_[i]->batch_size_);
00268                                 print_FSM(state->drop_[i]);
00269                         }
00270                 }
00271         }
00272 #else /* ! 0 */
00273         state->reset_all_processed();
00274         state->print_all(0);
00275 #endif /* 0 */
00276 }

Here is the call graph for this function:

void FSM::print_FSM_stats FSMState state,
int  n
[static, inherited]
 

Definition at line 279 of file fsm.cc.

References FSMState::print_all_stats(), and FSMState::reset_all_processed().

Referenced by AbsTcpAgent::command().

00280 {
00281         state->reset_all_processed();
00282         state->print_all_stats(n);
00283         fflush(stdout);
00284 }

Here is the call graph for this function:

FSMState* RenoAckFSM::start_state  )  [inline]
 

Reimplemented from FSM.

Definition at line 90 of file fsm.h.

References start_state_.

Referenced by AbsTcpRenoAckAgent::AbsTcpRenoAckAgent().

00090                                        {        // starting state
00091                 return (start_state_);
00092         }


Member Data Documentation

RenoAckFSM * RenoAckFSM::instance_ [static, protected]
 

Reimplemented from FSM.

Definition at line 51 of file fsm.cc.

Referenced by RenoAckFSM().

FSMState* RenoAckFSM::start_state_ [protected]
 

Reimplemented from FSM.

Definition at line 97 of file fsm.h.

Referenced by RenoAckFSM(), and start_state().


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