class <Agent/RTP/TFCC> TFCCAgent : public RTPAgent


Inheritance:


Public Methods

TFCCAgent()

Protected Classes

class TFCCAckTimer: public TimerHandler
TFCCAckTimer(TFCCAgent *a)
void expire(Event *)
TFCCAgent* a_
class TFCCRttTimer: public TimerHandler
TFCCRttTimer(TFCCAgent *a)
void expire(Event *)
TFCCAgent* a_

Protected Fields

double ack_interval_
"ack" sending rate
TFCCAckTimer ack_timer_
periodic timer for ack generation
double alpha_
weighting factor for rtt mean estimate
double beta_
weighting factor for rtt var estimate
int cseq_
congest epoch seq (as receiver)
int expected_
next expected sequence number
int highest_cseq_seen_
peer's last cseq seen (I am sender)
int last_cseq_checked_
last cseq value at rtt heartbeat
int last_ecn_
last recv had an ecn
int last_expected_
value of expected_ on last rtt beat
double last_loss_time_
last time we saw a loss
double last_rtime_
last time a pkt was received
double last_ts_
ts field carries on last pkt
double maxrtt_
max rtt seen
double minrtt_
min rtt seen
int needresponse_
send a packet in response to current one
int nlost_
pkts lost (cumulative)
int nrcv_
pkts recv'd (cumulative)
double peer_interval_
last known peer's interval_
double peer_rtt_est_
peer's est of the rtt
int plost_
pkts peer reported lost
TFCCRttTimer rtt_timer_
periodic rtt-based heartbeat
double rttvar_
int silence_
of beats we've been idle
int silence_thresh_
call nopeer() if silence_ > silence_thresh_
double srtt_
current smoothed rtt
double srtt_chg_
srtt when speedup/slowdown last called
friend TFCCAckTimer
friend TFCCRttTimer

Protected Methods

void ack_rate_change()
changes the ack gen rate
virtual void ack_timeout(TimerHandler*)
ack sender
virtual void ecn_event()
called when seeing an ECN
virtual void loss_event(int)
called when a loss is detected
virtual void makepkt(Packet*)
virtual void nopeer()
lost ack stream from peer
double now()
virtual void peer_rttest_known(double)
called when peer knows rtt
virtual void recv(Packet*, Handler*)
virtual void rtt_known(double)
called when we know rtt
double rtt_sample(double samp)
virtual void rtt_timeout(TimerHandler*)
rtt heartbeat
virtual void slowdown(int)
reason to slow down
virtual void speedup()
possible opportunity to speed up
virtual void stop()
virtual double winchg()
pkts to speed up by

Inherited from RTPAgent:

Public Methods

void advanceby(int delta)
virtual int command(int argc, const char*const* argv)
Agent/RTP instproc done {}
virtual void sendmsg(int nbytes, const char *flags = 0)
virtual void timeout(int)

Protected Fields

double interval_
double lastpkttime_
int maxpkts_
int off_rtp_
int random_
RTPTimer rtp_timer_
int running_
int seqno_
RTPSession* session_

Protected Methods

virtual void finish()
void rate_change()
virtual void sendpkt()
virtual void start()

Inherited from Agent:

Public Fields

Agent instvar agent_port_
Agent instvar dst_addr_
Agent instvar dst_port_
Agent instvar namTrace_
Agent instvar tg_

Public Methods

inline nsaddr_t& addr()
Agent instproc attach-app {s_type}
Agent instproc attach-source {s_type}
Agent instproc attach-tbf { tbf }
Agent instproc attach-trace { file }
virtual void attachApp(Application* app)
virtual void close()
Agent instproc connect d
virtual void connect(nsaddr_t dst)
inline nsaddr_t& daddr()
inline nsaddr_t& dport()
Agent instproc dst-port {}
Agent instproc init args
virtual void listen()
inline nsaddr_t& port()
Agent instproc port {}
virtual void send(int nbytes)
void send(Packet* p, Handler* h)
virtual void send(int sz, AppData *data)
virtual void sendto(int sz, AppData*, const char* flags = 0)
virtual void sendto(int nbytes, const char* flags, nsaddr_t dst)
Agent instproc set args
void set_pkttype(packet_t pkttype)
virtual int& size()
Agent instproc traffic-source agent

Protected Fields

Application* app_
Tcl_Channel channel_
int class_
int defttl_
ns_addr_t dst_
int fid_
int flags_
ns_addr_t here_
int off_ip_
OldValue* oldValueList_
int prio_
int size_
char* traceName_
packet_t type_
static int uidcnt_

Protected Methods

void addAgentTrace(const char *name)
Packet* allocpkt(int)
Packet* allocpkt()
virtual int delay_bind_dispatch(const char *varName, const char *localName, TclObject *tracer)
virtual void delay_bind_init_all()
void deleteAgentTrace()
void dumpTracedVars()
virtual void idle()
void initpkt(Packet*)
void insertOldValue(TracedVar *v, const char *value)
OldValue* lookupOldValue(TracedVar *v)
void monitorAgentTrace()
virtual void recvBytes(int bytes)
virtual void trace(TracedVar *v)

Private Methods

void flushAVar(TracedVar *v)

Inherited from Connector:

Public Methods

virtual void drop(Packet* p)
inline NsObject* target()

Protected Fields

NsObject* drop_
NsObject* target_

Protected Methods

virtual void drop(Packet* p, const char *s)

Inherited from NsObject:

Public Methods

virtual void debug(const char *fmt, ...)
int isdebug()

Protected Fields

int debug_
int off_cmn_
int off_flags_

Protected Methods

void handle(Event*)
virtual void reset()

Inherited from Handler:


Documentation

TFCCAgent()

virtual void makepkt(Packet*)

virtual void recv(Packet*, Handler*)

virtual void loss_event(int)
called when a loss is detected

virtual void ecn_event()
called when seeing an ECN

virtual void peer_rttest_known(double)
called when peer knows rtt

virtual void rtt_known(double)
called when we know rtt

virtual void slowdown(int)
reason to slow down

virtual void speedup()
possible opportunity to speed up

virtual void nopeer()
lost ack stream from peer

virtual double winchg()
pkts to speed up by

virtual void stop()

virtual void rtt_timeout(TimerHandler*)
rtt heartbeat

virtual void ack_timeout(TimerHandler*)
ack sender

void ack_rate_change()
changes the ack gen rate

double now()

double rtt_sample(double samp)

double alpha_
weighting factor for rtt mean estimate

double beta_
weighting factor for rtt var estimate

double srtt_
current smoothed rtt

double srtt_chg_
srtt when speedup/slowdown last called

double rttvar_

double maxrtt_
max rtt seen

double minrtt_
min rtt seen

double peer_rtt_est_
peer's est of the rtt

double peer_interval_
last known peer's interval_

double last_ts_
ts field carries on last pkt

double last_loss_time_
last time we saw a loss

double ack_interval_
"ack" sending rate

double last_rtime_
last time a pkt was received

int expected_
next expected sequence number

int nrcv_
pkts recv'd (cumulative)

int nlost_
pkts lost (cumulative)

int plost_
pkts peer reported lost

int cseq_
congest epoch seq (as receiver)

int highest_cseq_seen_
peer's last cseq seen (I am sender)

int last_cseq_checked_
last cseq value at rtt heartbeat

int last_expected_
value of expected_ on last rtt beat

int silence_
of beats we've been idle

int silence_thresh_
call nopeer() if silence_ > silence_thresh_

int needresponse_
send a packet in response to current one

int last_ecn_
last recv had an ecn

class TFCCAckTimer: public TimerHandler

TFCCAckTimer(TFCCAgent *a)

void expire(Event *)

TFCCAgent* a_

friend TFCCAckTimer

TFCCAckTimer ack_timer_
periodic timer for ack generation

class TFCCRttTimer: public TimerHandler

TFCCRttTimer(TFCCAgent *a)

void expire(Event *)

TFCCAgent* a_

friend TFCCRttTimer

TFCCRttTimer rtt_timer_
periodic rtt-based heartbeat


Direct child classes:
VTFCCAgent
ETFCCAgent

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

Adapted for the NS documentation page

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de