class <Agent/AckReconsClass> AckRecons : public Agent


Inheritance:


Public Fields

Agent/AckReconsClass instvar ackInterArr_
Agent/AckReconsClass instvar ackSpacing_
Agent/AckReconsClass instvar alpha_
Agent/AckReconsClass instvar delack_
Agent/AckReconsClass instvar lastRealAck_
Agent/AckReconsClass instvar lastRealTime_
SemanticPacketQueue* spq_
the corresponding queue of packets

Public Methods

Agent/AckReconsClass instproc ackbw {ack time}
AckRecons(nsaddr_t src, nsaddr_t dst)
int command(int argc, const char*const* argv)
void handle(Event *e)
void recv(Packet *p)
Agent/AckReconsClass instproc spacing { ack }

Private Fields

double ackInterArr_
estimate of arrival rate of acks
int ackPending_
double ackSpacing_
time duration between acks sent by recons
Packet* ackTemplate_
used as a template for generated acks
int adaptive_
whether to adapt ack bandwidth?
double alpha_
used in linear filter for ack rate est
int delack_
generate ack at least every delack_ acks
int deltaAckThresh_
knobs/policies threshold for reconstruction to kick in
nsaddr_t dst_
dst addr:port
int dupacks_
number of dup acks seen so far
int lastAck_
last ack sent by recons, maybe generated
int lastRealAck_
last ack actually received on link
double lastRealTime_
time when last ack arrived on link
double lastTime_
time when last ack was sent
int off_tcp_
offset of TCP header in packet
int size_
TCP packet size -- needed because TCP acks are in terms of packets
nsaddr_t src_
src addr:port

Private Methods

void sendack(int ack, double t)
send ack pkt at time t

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_
int fid_
int flags_
ns_addr_t here_
int off_ip_
OldValue* oldValueList_
int prio_
int seqno_
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

virtual void reset()

Inherited from Handler:


Documentation

AckRecons(nsaddr_t src, nsaddr_t dst)

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

void handle(Event *e)

void recv(Packet *p)

SemanticPacketQueue* spq_
the corresponding queue of packets

void sendack(int ack, double t)
send ack pkt at time t

nsaddr_t src_
src addr:port

nsaddr_t dst_
dst addr:port

Packet* ackTemplate_
used as a template for generated acks

int ackPending_

int lastAck_
last ack sent by recons, maybe generated

int lastRealAck_
last ack actually received on link

double lastTime_
time when last ack was sent

double lastRealTime_
time when last ack arrived on link

int dupacks_
number of dup acks seen so far

int size_
TCP packet size -- needed because TCP acks are in terms of packets

int deltaAckThresh_
knobs/policies threshold for reconstruction to kick in

double ackInterArr_
estimate of arrival rate of acks

double ackSpacing_
time duration between acks sent by recons

int delack_
generate ack at least every delack_ acks

int adaptive_
whether to adapt ack bandwidth?

double alpha_
used in linear filter for ack rate est.

int off_tcp_
offset of TCP header in packet

Agent/AckReconsClass instproc spacing { ack }

Agent/AckReconsClass instvar ackInterArr_

Agent/AckReconsClass instvar ackSpacing_

Agent/AckReconsClass instvar delack_

Agent/AckReconsClass instproc ackbw {ack time}
Estimate rate at which acks are arriving

Agent/AckReconsClass instvar lastRealTime_

Agent/AckReconsClass instvar lastRealAck_

Agent/AckReconsClass instvar alpha_


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