ns2 Network Simulator      C++ Class Hierarchy of version ns-snapshot-20040722
Home |  Source Code |  Manual |  FAQ |  Mailing List Archive |  Search |  Download | 


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

TcpAgent Class Reference

#include <tcp.h>

Inheritance diagram for TcpAgent:

Agent Connector NsObject TclObject Handler BayFullTcpAgent BayReassemblyQueue FackTcpAgent FullTcpAgent IntTcpAgent RenoTcpAgent RFC793eduTcpAgent Sack1TcpAgent SackRHTcpAgent SimpleTcpAgent TcpAsymAgent TcpFsAgent VegasTcpAgent List of all members.

Public Member Functions

 TcpAgent ()
 ~TcpAgent ()
virtual void recv (Packet *, Handler *)
virtual void timeout (int tno)
virtual void timeout_nonrtx (int tno)
int command (int argc, const char *const *argv)
virtual void sendmsg (int nbytes, const char *flags=0)
void trace (TracedVar *v)
virtual void advanceby (int delta)

Protected Member Functions

virtual int window ()
virtual double windowd ()
void print_if_needed (double memb_time)
void traceAll ()
virtual void traceVar (TracedVar *v)
virtual int headersize ()
virtual void delay_bind_init_all ()
virtual int delay_bind_dispatch (const char *varName, const char *localName, TclObject *tracer)
virtual void rtt_init ()
virtual double rtt_timeout ()
virtual void rtt_update (double tao)
virtual void rtt_backoff ()
virtual void output (int seqno, int reason=0)
virtual void send_much (int force, int reason, int maxburst=0)
virtual void newtimer (Packet *)
virtual void dupack_action ()
virtual void send_one ()
double linear (double x, double x_1, double y_1, double x_2, double y_2)
void opencwnd ()
void slowdown (int how)
void ecn (int seqno)
virtual void set_initial_window ()
double initial_window ()
void reset ()
void newack (Packet *)
void tcp_eln (Packet *pkt)
void finish ()
void reset_qoption ()
void rtt_counting ()
int network_limited ()
double limited_slow_start (double cwnd, double max_ssthresh, double increment)
virtual int numdupacks (double cwnd)
virtual void processQuickStart (Packet *pkt)
virtual void endQuickStart ()
virtual void output_helper (Packet *)
virtual void send_helper (int)
virtual void send_idle_helper ()
virtual void recv_helper (Packet *)
virtual void recv_newack_helper (Packet *)
virtual void partialnewack_helper (Packet *)
virtual void cancel_timers ()
virtual void cancel_rtx_timer ()
virtual void set_rtx_timer ()
void reset_rtx_timer (int mild, int backoff=1)
double increase_param ()
double decrease_param ()
void trace_event (char *eventtype)
void closecwnd (int how)
void quench (int how)
void process_qoption_after_send ()
void process_qoption_after_ack (int seqno)

Protected Attributes

TracedInt t_seqno_
TracedInt t_rtt_
int T_SRTT_BITS
TracedInt t_srtt_
int srtt_init_
int T_RTTVAR_BITS
int rttvar_exp_
TracedInt t_rttvar_
int rttvar_init_
double t_rtxcur_
double rtxcur_init_
TracedInt t_backoff_
double ts_peer_
double ts_echo_
RtxTimer rtx_timer_
DelSndTimer delsnd_timer_
BurstSndTimer burstsnd_timer_
int timerfix_
int rfc2988_
double boot_time_
double overhead_
double wnd_
double wnd_const_
double wnd_th_
double wnd_init_
double wnd_restart_
double tcp_tick_
int wnd_option_
int wnd_init_option_
double decrease_num_
double increase_num_
double k_parameter_
double l_parameter_
int precision_reduce_
int syn_
int delay_growth_
int tcpip_base_hdr_size_
int ts_option_size_
int bug_fix_
int bugfix_ack_
int bugfix_ts_
doubletss
int tss_size_
int less_careful_
int ts_option_
int ts_resetRTO_
int maxburst_
int aggressive_maxburst_
int maxcwnd_
int numdupacks_
int numdupacksFrac_
int exitFastRetrans_
double maxrto_
double minrto_
int old_ecn_
FILE * plotfile_
TracedInt dupacks_
TracedInt curseq_
int last_ack_
TracedInt highest_ack_
int recover_
int last_cwnd_action_
TracedDouble cwnd_
double base_cwnd_
double awnd_
TracedInt ssthresh_
int count_
double fcnt_
int rtt_active_
int rtt_seq_
double rtt_ts_
TracedInt maxseq_
int ecn_
int cong_action_
int ecn_burst_
int ecn_backoff_
int ect_
int eln_
int eln_rxmit_thresh_
int eln_last_rxmit_
double firstsent_
double lastreset_
int slow_start_restart_
int restart_bugfix_
int closed_
TracedInt ndatapack_
TracedInt ndatabytes_
TracedInt nackpack_
TracedInt nrexmit_
TracedInt nrexmitpack_
TracedInt nrexmitbytes_
TracedInt necnresponses_
TracedInt ncwndcuts_
int trace_all_oneline_
int nam_tracevar_
int first_decrease_
TracedInt singledup_
int LimTransmitFix_
int noFastRetrans_
int oldCode_
int useHeaders_
int low_window_
int high_window_
double high_p_
double high_decrease_
int max_ssthresh_
int cwnd_range_
hstcp hstcp_
int rate_request_
int qs_enabled_
int qs_requested_
int qs_approved_
int ttl_diff_
int QOption_
int EnblRTTCtr_
int T_full
int T_last
int T_prev
int T_start
int RTT_count
int RTT_prev
int RTT_goodcount
int F_counting
int W_used
int W_timed
int F_full
int Backoffs
int control_increase_
int prev_highest_ack_

Constructor & Destructor Documentation

TcpAgent::TcpAgent  
 

TcpAgent::~TcpAgent   [inline]
 


Member Function Documentation

void TcpAgent::advanceby int    delta [virtual]
 

Reimplemented in FullTcpAgent.

virtual void TcpAgent::cancel_rtx_timer   [inline, protected, virtual]
 

Reimplemented in TcpFsAgent, RenoTcpFsAgent, NewRenoTcpFsAgent, and TcpSessionAgent.

virtual void TcpAgent::cancel_timers   [inline, protected, virtual]
 

Reimplemented in TcpFsAgent, RenoTcpFsAgent, NewRenoTcpFsAgent, FullTcpAgent, and TcpSessionAgent.

void TcpAgent::closecwnd int    how [protected]
 

Reimplemented in IntTcpAgent.

int TcpAgent::command int    argc,
const char *const *    argv
[virtual]
 

Reimplemented from Agent.

Reimplemented in BayFullTcpAgent, FullTcpAgent, IntTcpAgent, TcpSessionAgent, SimpleTcpAgent, and CC1TcpAgent.

double TcpAgent::decrease_param   [protected]
 

int TcpAgent::delay_bind_dispatch const char *    varName,
const char *    localName,
TclObject   tracer
[protected, virtual]
 

Reimplemented from Agent.

Reimplemented in BayFullTcpAgent, FullTcpAgent, SackFullTcpAgent, RFC793eduTcpAgent, and VegasTcpAgent.

void TcpAgent::delay_bind_init_all   [protected, virtual]
 

Reimplemented from Agent.

Reimplemented in BayFullTcpAgent, FullTcpAgent, SackFullTcpAgent, RFC793eduTcpAgent, and VegasTcpAgent.

void TcpAgent::dupack_action   [protected, virtual]
 

Reimplemented in FullTcpAgent, TahoeFullTcpAgent, SackFullTcpAgent, Sack1TcpAgent, RenoTcpAgent, and NewRenoTcpAgent.

void TcpAgent::ecn int    seqno [protected]
 

void TcpAgent::endQuickStart   [protected, virtual]
 

void TcpAgent::finish   [protected]
 

Reimplemented in FullTcpAgent.

int TcpAgent::headersize   [protected, virtual]
 

Reimplemented in BayFullTcpAgent, and FullTcpAgent.

double TcpAgent::increase_param   [protected]
 

double TcpAgent::initial_window   [protected]
 

double TcpAgent::limited_slow_start double    cwnd,
double    max_ssthresh,
double    increment
[protected]
 

double TcpAgent::linear double    x,
double    x_1,
double    y_1,
double    x_2,
double    y_2
[protected]
 

int TcpAgent::network_limited   [protected]
 

void TcpAgent::newack Packet   [protected]
 

Reimplemented in BayFullTcpAgent, FullTcpAgent, IntTcpAgent, RFC793eduTcpAgent, and TcpSessionAgent.

void TcpAgent::newtimer Packet   [protected, virtual]
 

int TcpAgent::numdupacks double    cwnd [protected, virtual]
 

void TcpAgent::opencwnd   [protected]
 

Reimplemented in FackTcpAgent, IntTcpAgent, RFC793eduTcpAgent, and CC1TcpAgent.

void TcpAgent::output int    seqno,
int    reason = 0
[protected, virtual]
 

Reimplemented in BayFullTcpAgent, IntTcpAgent, QSNewRenoTcpAgent, RFC793eduTcpAgent, VegasTcpAgent, and CC1TcpAgent.

virtual void TcpAgent::output_helper Packet   [inline, protected, virtual]
 

Reimplemented in NewRenoTcpAsymFsAgent, TcpAsymAgent, TcpRenoAsymAgent, NewRenoTcpAsymAgent, TcpFsAgent, RenoTcpFsAgent, NewRenoTcpFsAgent, and IntTcpAgent.

virtual void TcpAgent::partialnewack_helper Packet   [inline, protected, virtual]
 

Reimplemented in NewRenoTcpAsymFsAgent, TcpFsAgent, NewRenoTcpFsAgent, and NewRenoTcpAgent.

void TcpAgent::print_if_needed double    memb_time [protected]
 

void TcpAgent::process_qoption_after_ack int    seqno [protected]
 

void TcpAgent::process_qoption_after_send   [protected]
 

void TcpAgent::processQuickStart Packet   pkt [protected, virtual]
 

void TcpAgent::quench int    how [protected]
 

Reimplemented in CorresHost.

void TcpAgent::recv Packet  ,
Handler  
[virtual]
 

Reimplemented from Agent.

Reimplemented in BayFullTcpAgent, FackTcpAgent, FullTcpAgent, IntTcpAgent, QSNewRenoTcpAgent, RBPVegasTcpAgent, RBPRenoTcpAgent, RFC793eduTcpAgent, SackRHTcpAgent, Sack1TcpAgent, RenoTcpAgent, NewRenoTcpAgent, VegasTcpAgent, and SimpleTcpAgent.

virtual void TcpAgent::recv_helper Packet   [inline, protected, virtual]
 

Reimplemented in NewRenoTcpAsymFsAgent, TcpAsymAgent, TcpRenoAsymAgent, NewRenoTcpAsymAgent, TcpFsAgent, RenoTcpFsAgent, and NewRenoTcpFsAgent.

void TcpAgent::recv_newack_helper Packet   [protected, virtual]
 

Reimplemented in NewRenoTcpAsymFsAgent, TcpAsymAgent, TcpRenoAsymAgent, NewRenoTcpAsymAgent, FackTcpAgent, TcpFsAgent, RenoTcpFsAgent, NewRenoTcpFsAgent, RFC793eduTcpAgent, VegasTcpAgent, and CC1TcpAgent.

void TcpAgent::reset   [protected, virtual]
 

Reimplemented from NsObject.

Reimplemented in BayFullTcpAgent, FackTcpAgent, FullTcpAgent, SackFullTcpAgent, RFC793eduTcpAgent, Sack1TcpAgent, and VegasTcpAgent.

void TcpAgent::reset_qoption   [protected]
 

void TcpAgent::reset_rtx_timer int    mild,
int    backoff = 1
[protected]
 

Reimplemented in TcpSessionAgent.

void TcpAgent::rtt_backoff   [protected, virtual]
 

Reimplemented in RFC793eduTcpAgent.

void TcpAgent::rtt_counting   [protected]
 

void TcpAgent::rtt_init   [protected, virtual]
 

Reimplemented in CC1TcpAgent.

double TcpAgent::rtt_timeout   [protected, virtual]
 

void TcpAgent::rtt_update double    tao [protected, virtual]
 

Reimplemented in RFC793eduTcpAgent, and CC1TcpAgent.

virtual void TcpAgent::send_helper int    [inline, protected, virtual]
 

Reimplemented in NewRenoTcpAsymFsAgent, TcpAsymAgent, TcpRenoAsymAgent, NewRenoTcpAsymAgent, TcpFsAgent, RenoTcpFsAgent, and NewRenoTcpFsAgent.

virtual void TcpAgent::send_idle_helper   [inline, protected, virtual]
 

Reimplemented in NewRenoTcpAsymFsAgent, TcpFsAgent, RenoTcpFsAgent, and NewRenoTcpFsAgent.

void TcpAgent::send_much int    force,
int    reason,
int    maxburst = 0
[protected, virtual]
 

Reimplemented in BayFullTcpAgent, FackTcpAgent, FullTcpAgent, IntTcpAgent, QSNewRenoTcpAgent, RBPVegasTcpAgent, RBPRenoTcpAgent, SackRHTcpAgent, and Sack1TcpAgent.

void TcpAgent::send_one   [protected, virtual]
 

void TcpAgent::sendmsg int    nbytes,
const char *    flags = 0
[virtual]
 

Reimplemented from Agent.

Reimplemented in FullTcpAgent, and SimpleTcpAgent.

void TcpAgent::set_initial_window   [protected, virtual]
 

Reimplemented in FullTcpAgent.

void TcpAgent::set_rtx_timer   [protected, virtual]
 

Reimplemented in NewRenoTcpAsymFsAgent, TcpFsAgent, RenoTcpFsAgent, NewRenoTcpFsAgent, and TcpSessionAgent.

void TcpAgent::slowdown int    how [protected]
 

void TcpAgent::tcp_eln Packet   pkt [protected]
 

void TcpAgent::timeout int    tno [virtual]
 

Reimplemented from Agent.

Reimplemented in BayFullTcpAgent, FackTcpAgent, FullTcpAgent, QSNewRenoTcpAgent, RBPVegasTcpAgent, RBPRenoTcpAgent, SackRHTcpAgent, Sack1TcpAgent, TcpSessionAgent, RenoTcpAgent, VegasTcpAgent, and SimpleTcpAgent.

void TcpAgent::timeout_nonrtx int    tno [virtual]
 

Reimplemented in NewRenoTcpAsymFsAgent, TcpFsAgent, RenoTcpFsAgent, NewRenoTcpFsAgent, and SimpleTcpAgent.

void TcpAgent::trace TracedVar   v [virtual]
 

Reimplemented from Agent.

void TcpAgent::trace_event char *    eventtype [protected, virtual]
 

Reimplemented from Agent.

void TcpAgent::traceAll   [protected]
 

Reimplemented in TcpAsymAgent.

void TcpAgent::traceVar TracedVar   v [protected, virtual]
 

Reimplemented in TcpAsymAgent, and TcpSessionAgent.

int TcpAgent::window   [protected, virtual]
 

Reimplemented in FackTcpAgent, SackRHTcpAgent, TcpSessionAgent, and RenoTcpAgent.

double TcpAgent::windowd   [protected, virtual]
 

Reimplemented in RenoTcpAgent.


Member Data Documentation

int TcpAgent::aggressive_maxburst_ [protected]
 

double TcpAgent::awnd_ [protected]
 

int TcpAgent::Backoffs [protected]
 

double TcpAgent::base_cwnd_ [protected]
 

double TcpAgent::boot_time_ [protected]
 

int TcpAgent::bug_fix_ [protected]
 

int TcpAgent::bugfix_ack_ [protected]
 

int TcpAgent::bugfix_ts_ [protected]
 

BurstSndTimer TcpAgent::burstsnd_timer_ [protected]
 

Reimplemented in TcpSessionAgent.

int TcpAgent::closed_ [protected]
 

Reimplemented in FullTcpAgent.

int TcpAgent::cong_action_ [protected]
 

int TcpAgent::control_increase_ [protected]
 

int TcpAgent::count_ [protected]
 

Reimplemented in IntTcpAgent.

TracedInt TcpAgent::curseq_ [protected]
 

TracedDouble TcpAgent::cwnd_ [protected]
 

int TcpAgent::cwnd_range_ [protected]
 

double TcpAgent::decrease_num_ [protected]
 

int TcpAgent::delay_growth_ [protected]
 

DelSndTimer TcpAgent::delsnd_timer_ [protected]
 

TracedInt TcpAgent::dupacks_ [protected]
 

int TcpAgent::ecn_ [protected]
 

int TcpAgent::ecn_backoff_ [protected]
 

int TcpAgent::ecn_burst_ [protected]
 

int TcpAgent::ect_ [protected]
 

Reimplemented in FullTcpAgent.

int TcpAgent::eln_ [protected]
 

int TcpAgent::eln_last_rxmit_ [protected]
 

int TcpAgent::eln_rxmit_thresh_ [protected]
 

int TcpAgent::EnblRTTCtr_ [protected]
 

int TcpAgent::exitFastRetrans_ [protected]
 

int TcpAgent::F_counting [protected]
 

int TcpAgent::F_full [protected]
 

double TcpAgent::fcnt_ [protected]
 

int TcpAgent::first_decrease_ [protected]
 

double TcpAgent::firstsent_ [protected]
 

double TcpAgent::high_decrease_ [protected]
 

double TcpAgent::high_p_ [protected]
 

int TcpAgent::high_window_ [protected]
 

TracedInt TcpAgent::highest_ack_ [protected]
 

hstcp TcpAgent::hstcp_ [protected]
 

double TcpAgent::increase_num_ [protected]
 

double TcpAgent::k_parameter_ [protected]
 

double TcpAgent::l_parameter_ [protected]
 

int TcpAgent::last_ack_ [protected]
 

int TcpAgent::last_cwnd_action_ [protected]
 

double TcpAgent::lastreset_ [protected]
 

int TcpAgent::less_careful_ [protected]
 

int TcpAgent::LimTransmitFix_ [protected]
 

int TcpAgent::low_window_ [protected]
 

int TcpAgent::max_ssthresh_ [protected]
 

int TcpAgent::maxburst_ [protected]
 

int TcpAgent::maxcwnd_ [protected]
 

double TcpAgent::maxrto_ [protected]
 

TracedInt TcpAgent::maxseq_ [protected]
 

double TcpAgent::minrto_ [protected]
 

TracedInt TcpAgent::nackpack_ [protected]
 

int TcpAgent::nam_tracevar_ [protected]
 

TracedInt TcpAgent::ncwndcuts_ [protected]
 

TracedInt TcpAgent::ndatabytes_ [protected]
 

TracedInt TcpAgent::ndatapack_ [protected]
 

TracedInt TcpAgent::necnresponses_ [protected]
 

int TcpAgent::noFastRetrans_ [protected]
 

TracedInt TcpAgent::nrexmit_ [protected]
 

TracedInt TcpAgent::nrexmitbytes_ [protected]
 

TracedInt TcpAgent::nrexmitpack_ [protected]
 

int TcpAgent::numdupacks_ [protected]
 

int TcpAgent::numdupacksFrac_ [protected]
 

int TcpAgent::old_ecn_ [protected]
 

int TcpAgent::oldCode_ [protected]
 

double TcpAgent::overhead_ [protected]
 

FILE* TcpAgent::plotfile_ [protected]
 

int TcpAgent::precision_reduce_ [protected]
 

int TcpAgent::prev_highest_ack_ [protected]
 

int TcpAgent::QOption_ [protected]
 

int TcpAgent::qs_approved_ [protected]
 

Reimplemented in QSNewRenoTcpAgent.

int TcpAgent::qs_enabled_ [protected]
 

int TcpAgent::qs_requested_ [protected]
 

int TcpAgent::rate_request_ [protected]
 

Reimplemented in QSNewRenoTcpAgent.

int TcpAgent::recover_ [protected]
 

int TcpAgent::restart_bugfix_ [protected]
 

int TcpAgent::rfc2988_ [protected]
 

int TcpAgent::rtt_active_ [protected]
 

int TcpAgent::RTT_count [protected]
 

int TcpAgent::RTT_goodcount [protected]
 

int TcpAgent::RTT_prev [protected]
 

int TcpAgent::rtt_seq_ [protected]
 

double TcpAgent::rtt_ts_ [protected]
 

int TcpAgent::rttvar_exp_ [protected]
 

int TcpAgent::rttvar_init_ [protected]
 

RtxTimer TcpAgent::rtx_timer_ [protected]
 

Reimplemented in TcpSessionAgent.

double TcpAgent::rtxcur_init_ [protected]
 

TracedInt TcpAgent::singledup_ [protected]
 

int TcpAgent::slow_start_restart_ [protected]
 

int TcpAgent::srtt_init_ [protected]
 

TracedInt TcpAgent::ssthresh_ [protected]
 

int TcpAgent::syn_ [protected]
 

TracedInt TcpAgent::t_backoff_ [protected]
 

int TcpAgent::T_full [protected]
 

int TcpAgent::T_last [protected]
 

int TcpAgent::T_prev [protected]
 

TracedInt TcpAgent::t_rtt_ [protected]
 

TracedInt TcpAgent::t_rttvar_ [protected]
 

int TcpAgent::T_RTTVAR_BITS [protected]
 

double TcpAgent::t_rtxcur_ [protected]
 

TracedInt TcpAgent::t_seqno_ [protected]
 

TracedInt TcpAgent::t_srtt_ [protected]
 

int TcpAgent::T_SRTT_BITS [protected]
 

int TcpAgent::T_start [protected]
 

double TcpAgent::tcp_tick_ [protected]
 

int TcpAgent::tcpip_base_hdr_size_ [protected]
 

int TcpAgent::timerfix_ [protected]
 

int TcpAgent::trace_all_oneline_ [protected]
 

double TcpAgent::ts_echo_ [protected]
 

int TcpAgent::ts_option_ [protected]
 

int TcpAgent::ts_option_size_ [protected]
 

Reimplemented in FullTcpAgent.

double TcpAgent::ts_peer_ [protected]
 

int TcpAgent::ts_resetRTO_ [protected]
 

double* TcpAgent::tss [protected]
 

int TcpAgent::tss_size_ [protected]
 

int TcpAgent::ttl_diff_ [protected]
 

Reimplemented in QSNewRenoTcpAgent.

int TcpAgent::useHeaders_ [protected]
 

int TcpAgent::W_timed [protected]
 

int TcpAgent::W_used [protected]
 

double TcpAgent::wnd_ [protected]
 

double TcpAgent::wnd_const_ [protected]
 

double TcpAgent::wnd_init_ [protected]
 

int TcpAgent::wnd_init_option_ [protected]
 

int TcpAgent::wnd_option_ [protected]
 

double TcpAgent::wnd_restart_ [protected]
 

double TcpAgent::wnd_th_ [protected]
 


The documentation for this class was generated from the following files:
This document is generated by doxygen.