class RapAgent : public Agent


Inheritance:


Public Methods

void advanceby(int delta)
int anyack()
int counting_pkt()
void finish()
void FixIpg(double fipg)
int GetDebugFlag()
FILE* GetLogfile()
int GetSeqno()
double GetTimeout()
void IncrementLossCount()
double ipg()
int is_stopped()
void listen()
RapAgent()
void recv(Packet*, Handler*)
double srtt()
Data member access methods
void start()
void stop()
void timeout(int type)
~RapAgent()

Protected Fields

double alpha_
Increase factor
double beta_
Decrease factor
TracedInt curseq_
max of pkts sent
int dctr_
Data packet counter: the number of data packets that we've sent in a RTT. If we have not sent much we should not increase rate because we don't have enough packets to probe for losses
int debugEnable_
double delta_
Jacobson/Karl 's constants...
int dpthresh_
The percentage threshold for increasing rate.
double fixIpg_
int flags_
Misc flags
double frtt_
Fine grain feedback signals
TracedDouble ipg_
Inter packet gap
IpgTimer ipgTimer_
Send event
double kfrtt_
double kxrtt_
int lastMiss_
int lastRecv_
Data and methods as required by RAP receiver Last hole at the RAP sink...
FILE* logfile_
double mu_
int off_rap_
double overhead_
Max random delay added to IPG
double phi_
int prevRecv_
int rap_base_hdr_size_
RttTimer rttTimer_
IPG decrease event
TracedInt seqno_
Current sequence number
TracedInt sessionLossCount_
~ Packets lost in RAP session
TracedDouble srtt_
Smoothened round trip time
double startTime_
Of this agent's life
TracedDouble timeout_
Timeout estimate
List transmissionHistory_
Of packets sent out
int useFineGrain_
Use fine grain rate adaptation?
double variance_
Variance in rtt samples
double xrtt_

Protected Methods

virtual int command(int argc, const char*const* argv)
void DecreaseIpg()
void IncreaseIpg()
void IpgTimeout()
ipgTimer_ handler
int LossDetection(RapLossType type, hdr_rap *ackHeader = NULL)
Detect TIMER_BASED or ACK_BASED losses
void LossHandler()
Increase ipg_ and mark history INACTIVE
void RecvAck(hdr_rap *ackHeader)
Process an ACK
void RttTimeout()
rttTimer_ handler
void SendAck(int seqNum)
void SendPacket(int nbytes, AppData *data = 0)
Send a DATA packet
void UpdateLastHole(int seqNum)
void UpdateTimeValues(double sampleRtt)
Adjust RTT estimate based on sample

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
inline nsaddr_t& port()
Agent instproc port {}
virtual void send(int sz, AppData *data)
void send(Packet* p, Handler* h)
virtual void send(int nbytes)
virtual void sendmsg(int sz, AppData*, const char* flags = 0)
virtual void sendmsg(int nbytes, const char *flags = 0)
virtual void sendto(int nbytes, const char* flags, nsaddr_t dst)
virtual void sendto(int sz, AppData*, const char* flags = 0)
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_
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

RapAgent()

~RapAgent()

void recv(Packet*, Handler*)

void timeout(int type)

int GetSeqno()

double GetTimeout()

int GetDebugFlag()

FILE* GetLogfile()

void IncrementLossCount()

void start()

void stop()

void listen()

void advanceby(int delta)

void finish()

double srtt()
Data member access methods

double ipg()

int anyack()

int is_stopped()

int counting_pkt()

void FixIpg(double fipg)

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

void IpgTimeout()
ipgTimer_ handler

void RttTimeout()
rttTimer_ handler

void IncreaseIpg()

void DecreaseIpg()

void UpdateTimeValues(double sampleRtt)
Adjust RTT estimate based on sample

int LossDetection(RapLossType type, hdr_rap *ackHeader = NULL)
Detect TIMER_BASED or ACK_BASED losses

void LossHandler()
Increase ipg_ and mark history INACTIVE

void SendPacket(int nbytes, AppData *data = 0)
Send a DATA packet

void RecvAck(hdr_rap *ackHeader)
Process an ACK

IpgTimer ipgTimer_
Send event

RttTimer rttTimer_
IPG decrease event

List transmissionHistory_
Of packets sent out

TracedInt seqno_
Current sequence number

TracedInt sessionLossCount_
~ Packets lost in RAP session

TracedInt curseq_
max of pkts sent

TracedDouble ipg_
Inter packet gap

double beta_
Decrease factor

double alpha_
Increase factor

TracedDouble srtt_
Smoothened round trip time

double variance_
Variance in rtt samples

double delta_
Jacobson/Karl 's constants...

double mu_

double phi_

double overhead_
Max random delay added to IPG

int useFineGrain_
Use fine grain rate adaptation?

double frtt_
Fine grain feedback signals

double xrtt_

double kxrtt_

double kfrtt_

TracedDouble timeout_
Timeout estimate

double startTime_
Of this agent's life

int debugEnable_

FILE* logfile_

int lastRecv_
Data and methods as required by RAP receiver Last hole at the RAP sink...

int lastMiss_

int prevRecv_

void UpdateLastHole(int seqNum)

void SendAck(int seqNum)

int off_rap_

int rap_base_hdr_size_

int dctr_
Data packet counter: the number of data packets that we've sent in a RTT. If we have not sent much we should not increase rate because we don't have enough packets to probe for losses

int dpthresh_
The percentage threshold for increasing rate.

int flags_
Misc flags

double fixIpg_


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