class DSDV_Agent : public Agent


Inheritance:


Public Methods

virtual int command(int argc, const char * const * argv)
DSDV_Agent()
void lost_link(Packet *p)

Protected Fields

char* address
for debugging
double alpha_
DSDV constants: 0.875
int be_random_
Randomness/MAC/logging parameters
DSDV_Helper* helper_
DSDV Helper, handles callbacks
double lasttup_
last time a periodic update was sent... time of last triggered update
PriQueue* ll_queue
link level output queue
int min_update_periods_
3 we must hear an update from a neighbor
int myaddr_
My address...
double next_tup
time of next triggered update
MobileNode* node_
My node
Event* periodic_callback_
notify for periodic update
double perup_
15 (secs) period between updates
NsObject* port_dmux_
my port dmux
int seqno_
Sequence number to advertise with...
char* subnet_
Extensions for mixed type simulations using wired and wireless nodes My subnet
RoutingTable* table_
Routing Table
int trace_wst_
Trace* tracetarget
update old_rte in routing table to to new_rte Trace Target
DSDVTriggerHandler* trigger_handler
int use_mac_
int verbose_
double wst0_
6 (secs)

Protected Methods

void cancelTriggersBefore(Time t)
if no triggered update already pending for route prte, make one so
int diff_subnet(int dst)
void forwardPacket(Packet * p)
void helper_callback(Event *e)
Packet* makeUpdate(int& periodic)
Cancel any triggered events scheduled to take place *before* time t (exclusive)
void needTriggeredUpdate(rtable_ent *prte, Time t)
void output_rte(const char *prefix, rtable_ent *prte, DSDV_Agent *a)
void processUpdate(Packet * p)
virtual void recv(Packet *, Handler *)
Packet* rtable(int)
void sendOutBCastPkt(Packet *p)
void startUp()
void trace(char* fmt, ...)
void tracepkt(Packet *, double, int, const char *)
void updateRoute(rtable_ent *old_rte, rtable_ent *new_rte)
return a packet advertising the state in the routing table makes a full ``periodic'' update if requested, or a ``triggered'' partial update if there are only a few changes and full update otherwise returns with periodic = 1 if full update returned, or = 0 if partial update returned

Private Fields

friend class DSDV_Helper
friend class DSDVTriggerHandler

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 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)

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 class DSDV_Helper

friend class DSDVTriggerHandler

DSDV_Agent()

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

void lost_link(Packet *p)

void helper_callback(Event *e)

Packet* rtable(int)

virtual void recv(Packet *, Handler *)

void trace(char* fmt, ...)

void tracepkt(Packet *, double, int, const char *)

void needTriggeredUpdate(rtable_ent *prte, Time t)

void cancelTriggersBefore(Time t)
if no triggered update already pending for route prte, make one so

Packet* makeUpdate(int& periodic)
Cancel any triggered events scheduled to take place *before* time t (exclusive)

void updateRoute(rtable_ent *old_rte, rtable_ent *new_rte)
return a packet advertising the state in the routing table makes a full ``periodic'' update if requested, or a ``triggered'' partial update if there are only a few changes and full update otherwise returns with periodic = 1 if full update returned, or = 0 if partial update returned

void processUpdate(Packet * p)

void forwardPacket(Packet * p)

void startUp()

int diff_subnet(int dst)

void sendOutBCastPkt(Packet *p)

Trace* tracetarget
update old_rte in routing table to to new_rte Trace Target

DSDV_Helper* helper_
DSDV Helper, handles callbacks

DSDVTriggerHandler* trigger_handler

RoutingTable* table_
Routing Table

PriQueue* ll_queue
link level output queue

int seqno_
Sequence number to advertise with...

int myaddr_
My address...

char* subnet_
Extensions for mixed type simulations using wired and wireless nodes My subnet

MobileNode* node_
My node

char* address
for debugging

NsObject* port_dmux_
my port dmux

Event* periodic_callback_
notify for periodic update

int be_random_
Randomness/MAC/logging parameters

int use_mac_

int verbose_

int trace_wst_

double lasttup_
last time a periodic update was sent... time of last triggered update

double next_tup
time of next triggered update

double alpha_
DSDV constants: 0.875

double wst0_
6 (secs)

double perup_
15 (secs) period between updates

int min_update_periods_
3 we must hear an update from a neighbor

void output_rte(const char *prefix, rtable_ent *prte, DSDV_Agent *a)


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