class <Agent> Agent : public Connector


Inheritance:


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(packet_t pktType)
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()
virtual void connect(nsaddr_t dst)
Agent instproc connect d
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 recv(Packet*, Handler*)
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 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
virtual ~Agent()

Protected Fields

Application* app_
ptr to application for callback
Tcl_Channel channel_
int class_
class to place in packet header
int defttl_
default ttl for outgoing pkts
ns_addr_t dst_
destination address for pkt flow
int fid_
for IPv6 flow id field
int flags_
for experiments (see ip.h)
ns_addr_t here_
address of this agent
int off_ip_
OldValue* oldValueList_
int prio_
for IPv6 prio field
int seqno_
current seqno
int size_
fixed packet size
char* traceName_
name used in agent traces
packet_t type_
type to place in packet header
static int uidcnt_

Protected Methods

void addAgentTrace(const char *name)
Packet* allocpkt(int)
same, but w/data buffer
Packet* allocpkt()
alloc + set up new pkt
int command(int argc, const char*const* argv)
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*)
set up fields in a pkt
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

Agent(packet_t pktType)

virtual ~Agent()

void recv(Packet*, Handler*)

void send(Packet* p, Handler* h)

virtual void timeout(int tno)

virtual void sendmsg(int sz, AppData*, const char* flags = 0)

virtual void send(int sz, AppData *data)

virtual void sendto(int sz, AppData*, const char* flags = 0)

virtual void sendmsg(int nbytes, const char *flags = 0)

virtual void send(int nbytes)

virtual void sendto(int nbytes, const char* flags, nsaddr_t dst)

virtual void connect(nsaddr_t dst)

virtual void close()

virtual void listen()

virtual void attachApp(Application* app)

virtual int& size()

inline nsaddr_t& addr()

inline nsaddr_t& port()

inline nsaddr_t& daddr()

inline nsaddr_t& dport()

void set_pkttype(packet_t pkttype)

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

virtual void delay_bind_init_all()

virtual int delay_bind_dispatch(const char *varName, const char *localName, TclObject *tracer)

virtual void recvBytes(int bytes)

virtual void idle()

Packet* allocpkt()
alloc + set up new pkt

Packet* allocpkt(int)
same, but w/data buffer

void initpkt(Packet*)
set up fields in a pkt

ns_addr_t here_
address of this agent

ns_addr_t dst_
destination address for pkt flow

int size_
fixed packet size

packet_t type_
type to place in packet header

int fid_
for IPv6 flow id field

int prio_
for IPv6 prio field

int flags_
for experiments (see ip.h)

int defttl_
default ttl for outgoing pkts

int seqno_
current seqno

int class_
class to place in packet header

static int uidcnt_

int off_ip_

Tcl_Channel channel_

char* traceName_
name used in agent traces

OldValue* oldValueList_

Application* app_
ptr to application for callback

virtual void trace(TracedVar *v)

void deleteAgentTrace()

void addAgentTrace(const char *name)

void monitorAgentTrace()

OldValue* lookupOldValue(TracedVar *v)

void insertOldValue(TracedVar *v, const char *value)

void dumpTracedVars()

void flushAVar(TracedVar *v)

Agent instproc connect d
backward compat for agent methods that were replaced by OTcl instance variables

Agent instproc set args
The following overload was added to inform users of the backward compatibility issues resulted from having a 32-bit addressing space.

Agent instvar dst_addr_

Agent instvar dst_port_

Agent instproc port {}

Agent instvar agent_port_

Agent instproc dst-port {}
Lower 8 bits of dst_ are portID_. this proc supports setting the interval for delayed acks

Agent instproc attach-source {s_type}
Add source of type s_type to agent and return the source Source objects are obsolete; use attach-app instead

Agent instproc attach-app {s_type}
Add application of type s_type to agent and return the app Note that s_type must be defined as a packet type in packet.h

Agent instproc attach-tbf { tbf }
Attach tbf to an agent

Agent instproc traffic-source agent
THis routine is a temporary hack. It is likely to dissappear at some point in time.

Agent instvar tg_

Agent instproc attach-trace { file }
Agent trace is added when attaching to a traced node we need to keep a file handle in tcl so that var tracing can also be done in tcl by manual inserting update-var-trace{}

Agent instvar namTrace_

Agent instproc init args
======================================================================


Direct child classes:
Agent/Null
AckReconsClass
rtProtoDV
rtAgent
mcastControlAgent
imepAgent
UdpAgent
TfrcSinkAgent
TfrcAgent
TcpSink
TcpAgent
TapAgent
SensorQueryAgent
SatRouteAgent
SRMAgent
SAack_Agent
SA_Agent
RapAgent
RTPAgent
RTCPAgent
RLM_Sender
RLM_Receiver
PingResponder
PingAgent
NatAgent
MessageAgent
MIPMHAgent
MIPBSAgent
MFTPAgent
LossMonitor
LandmarkAgent
IvsSource
IvsReceiver
IcmpAgent
HttpInvalAgent
FloodAgent
Encapsulator
Decapsulator
DSRAgent
DSDV_Agent
CtrMcastEncap
CtrMcastDecap
AdaptiveRcvr
AckRecons
AbsTcpSink
AbsTcpAgent
AODV

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