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

FSM Class Reference

#include <fsm.h>

Inheritance diagram for FSM:

Inheritance graph
[legend]
Collaboration diagram for FSM:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 FSM ()
FSMStatestart_state ()

Static Public Member Functions

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

Protected Attributes

FSMStatestart_state_

Static Protected Attributes

FSMinstance_

Constructor & Destructor Documentation

FSM::FSM  )  [inline]
 

Definition at line 56 of file fsm.h.

00056 {};


Member Function Documentation

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

Reimplemented in TahoeAckFSM, RenoAckFSM, TahoeDelAckFSM, and RenoDelAckFSM.

Definition at line 60 of file fsm.h.

00060                                {
00061                 return (*instance_);            // general access to scheduler
00062         }

void FSM::print_FSM FSMState state  )  [static]
 

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]
 

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* FSM::start_state  )  [inline]
 

Reimplemented in TahoeAckFSM, RenoAckFSM, TahoeDelAckFSM, and RenoDelAckFSM.

Definition at line 57 of file fsm.h.

References start_state_.

00057                                        {        // starting state
00058                 return (start_state_);
00059         }


Member Data Documentation

FSM * FSM::instance_ [static, protected]
 

Reimplemented in TahoeAckFSM, RenoAckFSM, TahoeDelAckFSM, and RenoDelAckFSM.

Definition at line 49 of file fsm.cc.

FSMState* FSM::start_state_ [protected]
 

Reimplemented in TahoeAckFSM, RenoAckFSM, TahoeDelAckFSM, and RenoDelAckFSM.

Definition at line 66 of file fsm.h.

Referenced by start_state().


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