class <Agent/IMEP> imepAgent : public Agent


Inheritance:


Public Fields

ImepStat stats

Public Methods

int command(int argc, const char*const* argv)
imepAgent(nsaddr_t index)
void imepGetBiLinks(int*& nblist, int& nbcnt)
void imepGetLinkStatus(nsaddr_t index, u_int32_t& status)
void imepPacketUndeliverable(Packet *p)
void imepRegister(rtAgent *rt)
void imepSetLinkBiStatus(nsaddr_t index)
void imepSetLinkDownStatus(nsaddr_t index)
void imepSetLinkInStatus(nsaddr_t index)
void imepSetLinkOutStatus(nsaddr_t index)
void recv(Packet *p, Handler *h)
void trace(char* fmt, ...)

Protected Methods

void handlerTimer(imepTimerType t)
============================================================ Timer stuff
void Terminate()

Private Fields

PacketQueue ackQueue
============================================================ Awaiting Broadcast (AB) Buffer
imepTimer beaconTimer
u_int32_t controlSequence
imepTimer controlTimer
PacketQueue helloQueue
friend class imepTimer
dstQueue incomingQ
============================================================ Waiting for delivery to the upper layer Buffer
imepTimer incomingTimer
nsaddr_t ipaddr
Trace* logtarget_
PacketQueue objectQueue
int off_IMEP_
int off_TORA_
NsObject* recvtarget_
ReXmitQ rexmitq
============================================================ Waiting for ACK Buffer
imepTimer rexmitTimer
rtAgent* rtagent_
NsObject* sendtarget_

Private Methods

void aggregateAckBlock(Packet *p)
void aggregateHelloBlock(Packet *p)
void aggregateObjectBlock(Packet *p)
void createResponseList(Packet *p)
char* dumpResponseList(Packet *p)
imepLink* findLink(nsaddr_t index)
Packet* findObjectSequence(u_int8_t seqno)
int getResponseListSize()
void handlerBeaconTimer(void)
void handlerControlTimer(void)
void handlerIncomingTimer(void)
void handlerReXmitTimer(void)
void imep_ack_input(Packet *p)
void imep_ack_object(Packet *p)
void imep_beacon_input(Packet *p)
void imep_dump_header(Packet *p)
void imep_hello_input(Packet *p)
void imep_input(Packet *p)
void imep_object_input(Packet *p)
void imep_object_process(Packet *p)
void imep_output(Packet *p)
inline int initialized()
LIST_HEAD(_dummy_imepLinkList, imepLink)
XXX Must declare the first parameter in the macro, otherwise msvc will be unhappy.
void log_neighbor_list(void)
u_int8_t nextSequence()
void purgeLink(void)
void purgeReXmitQ(nsaddr_t index)
void recv_incoming(Packet *p)
void recv_outgoing(Packet *p)
void removeObjectResponse(Packet *p, nsaddr_t index)
void scheduleIncoming(Packet *p, u_int32_t s)
void scheduleReXmit(Packet *p)
void sendAck(nsaddr_t index, u_int32_t seqno)
void sendBeacon(void)
void sendHello(nsaddr_t index)
void toraCreateHeader(Packet *p, char* dst, int length)
void toraExtractHeader(Packet *p, char* dst)
int toraHeaderLength(struct hdr_tora* 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_
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)

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 imepTimer

imepAgent(nsaddr_t index)

void recv(Packet *p, Handler *h)

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

void imepRegister(rtAgent *rt)

void imepGetLinkStatus(nsaddr_t index, u_int32_t& status)

void imepSetLinkInStatus(nsaddr_t index)

void imepSetLinkOutStatus(nsaddr_t index)

void imepSetLinkBiStatus(nsaddr_t index)

void imepSetLinkDownStatus(nsaddr_t index)

void imepPacketUndeliverable(Packet *p)

void imepGetBiLinks(int*& nblist, int& nbcnt)

ImepStat stats

void Terminate()

void handlerTimer(imepTimerType t)
============================================================ Timer stuff

imepTimer beaconTimer

imepTimer controlTimer

imepTimer rexmitTimer

imepTimer incomingTimer

void handlerBeaconTimer(void)

void handlerControlTimer(void)

void handlerReXmitTimer(void)

void handlerIncomingTimer(void)

void recv_incoming(Packet *p)

void recv_outgoing(Packet *p)

void imep_beacon_input(Packet *p)

void imep_ack_input(Packet *p)

void imep_hello_input(Packet *p)

void imep_object_input(Packet *p)

void imep_object_process(Packet *p)

void imep_ack_object(Packet *p)

void imep_input(Packet *p)

void imep_output(Packet *p)

void sendBeacon(void)

void sendHello(nsaddr_t index)

void sendAck(nsaddr_t index, u_int32_t seqno)

imepLink* findLink(nsaddr_t index)

void purgeLink(void)

void purgeReXmitQ(nsaddr_t index)

Packet* findObjectSequence(u_int8_t seqno)

void removeObjectResponse(Packet *p, nsaddr_t index)

void aggregateAckBlock(Packet *p)

void aggregateHelloBlock(Packet *p)

void aggregateObjectBlock(Packet *p)

void createResponseList(Packet *p)

int getResponseListSize()

void scheduleReXmit(Packet *p)

void scheduleIncoming(Packet *p, u_int32_t s)

u_int8_t nextSequence()

inline int initialized()

void imep_dump_header(Packet *p)

void trace(char* fmt, ...)

void log_neighbor_list(void)

char* dumpResponseList(Packet *p)

void toraCreateHeader(Packet *p, char* dst, int length)

void toraExtractHeader(Packet *p, char* dst)

int toraHeaderLength(struct hdr_tora* t)

nsaddr_t ipaddr

int off_IMEP_

int off_TORA_

u_int32_t controlSequence

NsObject* recvtarget_

NsObject* sendtarget_

rtAgent* rtagent_

Trace* logtarget_

LIST_HEAD(_dummy_imepLinkList, imepLink)
XXX Must declare the first parameter in the macro, otherwise msvc will be unhappy.

PacketQueue ackQueue
============================================================ Awaiting Broadcast (AB) Buffer

PacketQueue helloQueue

PacketQueue objectQueue

ReXmitQ rexmitq
============================================================ Waiting for ACK Buffer

dstQueue incomingQ
============================================================ Waiting for delivery to the upper layer Buffer


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