class <Agent/TFRCSink> TfrcSinkAgent : public Agent


Inheritance:


Public Methods

void recv(Packet*, Handler*)
TfrcSinkAgent()

Protected Fields

int adjust_history_after_ss
fake history after slow start? (0/1)
int bval_
value of B used in the formula
int discount
emphasize most recent loss interval
int false_sample
by how much?
int hsz
double last_report_sent
when was last feedback sent
int last_sample
double last_timestamp_
these assist in keep track of incming packets and calculate flost_
double lastloss
when last loss occured
int lastloss_round_id
int loss_seen_yet
these are for "faking" history after slow start have we seen the first loss yet?
char* lossvec_
int maxseq
max seq number seen
double* mult
double mult_factor_
most recent multiple of mult array
TfrcNackTimer nack_timer_
double NumFeedback_
how many feedbacks per rtt
int numsamples
int printLoss_
to print estimated loss rates
int psize_
size of received packet
int rcvd_since_last_report
of packets rcvd since last report
int round_id
double rtt_
rtt value reported by sender
double* rtvec_
int* sample
int sample_count
int smooth_
for the smoother method for incorporating
int total_received_
total of pkts rcvd by rcvr
double* tsvec_
double tzero_
timeout value reported by sender
int UrgentFlag
send loss report immediately
double* weights

Protected Methods

void add_packet_to_history(Packet *)
double adjust_history(double)
int command(int argc, const char*const* argv)
double est_loss()
double est_thput()
void increase_pvec(int)
void multiply_array(double *a, int sz, double multiplier)
void nextpkt(double)
void print_loss(int sample, double ave_interval)
void sendpkt(double)
void shift_array(int *a, int sz, int defval)
void shift_array(double *a, int sz, double defval)
double weighted_average(int start, int end, double factor, double *m, double *w, int *sample)

Private Fields

friend TfrcNackTimer

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 {}
void send(Packet* p, Handler* h)
virtual void send(int nbytes)
virtual void send(int sz, AppData *data)
virtual void sendmsg(int sz, AppData*, const char* flags = 0)
virtual void sendmsg(int nbytes, const char *flags = 0)
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()
virtual void timeout(int tno)
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 seqno_
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

friend TfrcNackTimer

TfrcSinkAgent()

void recv(Packet*, Handler*)

void sendpkt(double)

void nextpkt(double)

void increase_pvec(int)

void add_packet_to_history(Packet *)

double adjust_history(double)

double est_loss()

double est_thput()

void shift_array(int *a, int sz, int defval)

void shift_array(double *a, int sz, double defval)

void multiply_array(double *a, int sz, double multiplier)

void print_loss(int sample, double ave_interval)

double weighted_average(int start, int end, double factor, double *m, double *w, int *sample)

int command(int argc, const char*const* argv)

TfrcNackTimer nack_timer_

int psize_
size of received packet

double rtt_
rtt value reported by sender

double tzero_
timeout value reported by sender

int smooth_
for the smoother method for incorporating

double last_timestamp_
these assist in keep track of incming packets and calculate flost_

int hsz

char* lossvec_

double* rtvec_

double* tsvec_

int round_id

int lastloss_round_id

int numsamples

int* sample

double* weights

double* mult

double mult_factor_
most recent multiple of mult array

int sample_count

int last_sample

int UrgentFlag
send loss report immediately

int maxseq
max seq number seen

int total_received_
total of pkts rcvd by rcvr

int bval_
value of B used in the formula

double last_report_sent
when was last feedback sent

double NumFeedback_
how many feedbacks per rtt

int rcvd_since_last_report
of packets rcvd since last report

double lastloss
when last loss occured

int printLoss_
to print estimated loss rates

int loss_seen_yet
these are for "faking" history after slow start have we seen the first loss yet?

int adjust_history_after_ss
fake history after slow start? (0/1)

int false_sample
by how much?

int discount
emphasize most recent loss interval


This class has no child classes.

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