ns2 Network Simulator      C++ Class Hierarchy of version ns-snapshot-20040722
Home |  Source Code |  Manual |  FAQ |  Mailing List Archive |  Search |  Download | 

Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

DSRAgent Class Reference

#include <dsragent.h>

Inheritance diagram for DSRAgent:

Tap Agent Connector NsObject TclObject Handler List of all members.

Public Member Functions

virtual int command (int argc, const char *const *argv)
virtual void recv (Packet *, Handler *callback=0)
void tap (const Packet *p)
void Terminate (void)
void sendOutBCastPkt (Packet *p)
 DSRAgent ()
 ~DSRAgent ()
 LIST_ENTRY (DSRAgent) link

Static Public Attributes

DSRAgent_List agthead = { 0 }

Private Member Functions

int diff_subnet (ID dest, ID myid)
void handlePktWithoutSR (SRPacket &p, bool retry)
void handlePacketReceipt (SRPacket &p)
void handleForwarding (SRPacket &p)
void handleRouteRequest (SRPacket &p)
void handleFlowForwarding (SRPacket &p)
void handleFlowForwarding (SRPacket &p, int flowidx)
void handleDefaultForwarding (SRPacket &p)
bool ignoreRouteRequestp (SRPacket &p)
void sendOutPacketWithRoute (SRPacket &p, bool fresh, Time delay=0.0)
void sendOutRtReq (SRPacket &p, int max_prop=MAX_SR_LEN)
void getRouteForPacket (SRPacket &p, bool retry)
void acceptRouteReply (SRPacket &p)
void returnSrcRouteToRequestor (SRPacket &p)
bool replyFromRouteCache (SRPacket &p)
void processUnknownFlowError (SRPacket &p, bool asDefault)
void processFlowARS (const Packet *packet)
void processBrokenRouteError (SRPacket &p)
void sendUnknownFlow (SRPacket &p, bool asDefault, u_int16_t flowid=0)
void xmitFailed (Packet *pkt, const char *reason="DROP_RTR_MAC_CALLBACK")
void xmitFlowFailed (Packet *pkt, const char *reason="DROP_RTR_MAC_CALLBACK")
void undeliverablePkt (Packet *p, int mine)
void dropSendBuff (SRPacket &p)
void stickPacketInSendBuffer (SRPacket &p)
void sendBufferCheck ()
void sendRouteShortening (SRPacket &p, int heard_at, int xmit_at)
void testinit ()
void trace (char *fmt,...)

Private Attributes

int off_mac_
int off_ll_
int off_ip_
int off_sr_
ID net_id
int tap_uid_cache [TAP_CACHE_SIZE]
RequestTable request_table
SendBufEntry send_buf [SEND_BUF_SIZE]
SendBufferTimer send_buf_timer
int route_request_num
int num_heldoff_rt_replies
RtRepHoldoff rtrep_holdoff [RTREP_HOLDOFF_SIZE]
GratReplyHoldDown grat_hold [RTREP_HOLDOFF_SIZE]
int grat_hold_victim
FlowTable flow_table
ARSTable ars_table
bool route_error_held
ID err_from
ID err_to
Time route_error_data_time


class SendBufferTimer
void XmitFailureCallback (Packet *pkt, void *data)
void XmitFlowFailureCallback (Packet *pkt, void *data)
int FilterFailure (Packet *p, void *data)

Constructor & Destructor Documentation



Member Function Documentation

void DSRAgent::acceptRouteReply SRPacket   p [private]

int DSRAgent::command int    argc,
const char *const *    argv

Reimplemented from Agent.

int DSRAgent::diff_subnet ID    dest,
ID    myid

void DSRAgent::dropSendBuff SRPacket   p [private]

void DSRAgent::getRouteForPacket SRPacket   p,
bool    retry

void DSRAgent::handleDefaultForwarding SRPacket   p [private]

void DSRAgent::handleFlowForwarding SRPacket   p,
int    flowidx

void DSRAgent::handleFlowForwarding SRPacket   p [private]

void DSRAgent::handleForwarding SRPacket   p [private]

void DSRAgent::handlePacketReceipt SRPacket   p [private]

void DSRAgent::handlePktWithoutSR SRPacket   p,
bool    retry

void DSRAgent::handleRouteRequest SRPacket   p [private]

bool DSRAgent::ignoreRouteRequestp SRPacket   p [private]


void DSRAgent::processBrokenRouteError SRPacket   p [private]

void DSRAgent::processFlowARS const Packet   packet [private]

void DSRAgent::processUnknownFlowError SRPacket   p,
bool    asDefault

void DSRAgent::recv Packet  ,
Handler   callback = 0

Reimplemented from Agent.

bool DSRAgent::replyFromRouteCache SRPacket   p [private]

void DSRAgent::returnSrcRouteToRequestor SRPacket   p [private]

void DSRAgent::sendBufferCheck   [private]

void DSRAgent::sendOutBCastPkt Packet   p

void DSRAgent::sendOutPacketWithRoute SRPacket   p,
bool    fresh,
Time    delay = 0.0

void DSRAgent::sendOutRtReq SRPacket   p,
int    max_prop = MAX_SR_LEN

void DSRAgent::sendRouteShortening SRPacket   p,
int    heard_at,
int    xmit_at

void DSRAgent::sendUnknownFlow SRPacket   p,
bool    asDefault,
u_int16_t    flowid = 0

void DSRAgent::stickPacketInSendBuffer SRPacket   p [private]

void DSRAgent::tap const Packet   p [virtual]

Implements Tap.

void DSRAgent::Terminate void   

void DSRAgent::testinit   [private]

void DSRAgent::trace char *    fmt,

void DSRAgent::undeliverablePkt Packet   p,
int    mine

void DSRAgent::xmitFailed Packet   pkt,
const char *    reason = "DROP_RTR_MAC_CALLBACK"

void DSRAgent::xmitFlowFailed Packet   pkt,
const char *    reason = "DROP_RTR_MAC_CALLBACK"

Friends And Related Function Documentation

int FilterFailure Packet   p,
void *    data

friend class SendBufferTimer [friend]

void XmitFailureCallback Packet   pkt,
void *    data

void XmitFlowFailureCallback Packet   pkt,
void *    data

Member Data Documentation

DSRAgent_List DSRAgent::agthead = { 0 } [static]

ARSTable DSRAgent::ars_table [private]

ID DSRAgent::err_from [private]

ID DSRAgent::err_to [private]

FlowTable DSRAgent::flow_table [private]

GratReplyHoldDown DSRAgent::grat_hold[RTREP_HOLDOFF_SIZE] [private]

int DSRAgent::grat_hold_victim [private]

CMUPriQueue* DSRAgent::ifq [private]

NsObject* DSRAgent::ll [private]

Trace* DSRAgent::logtarget [private]

Mac* DSRAgent::mac_ [private]

ID DSRAgent::MAC_id [private]

ID DSRAgent::net_id [private]

MobileNode* DSRAgent::node_ [private]

int DSRAgent::num_heldoff_rt_replies [private]

int DSRAgent::off_ip_ [private]

int DSRAgent::off_ll_ [private]

int DSRAgent::off_mac_ [private]

int DSRAgent::off_sr_ [private]

NsObject* DSRAgent::port_dmux_ [private]

RequestTable DSRAgent::request_table [private]

RouteCache* DSRAgent::route_cache [private]

Time DSRAgent::route_error_data_time [private]

bool DSRAgent::route_error_held [private]

int DSRAgent::route_request_num [private]

RtRepHoldoff DSRAgent::rtrep_holdoff[RTREP_HOLDOFF_SIZE] [private]

SendBufEntry DSRAgent::send_buf[SEND_BUF_SIZE] [private]

SendBufferTimer DSRAgent::send_buf_timer [private]

int DSRAgent::tap_uid_cache[TAP_CACHE_SIZE] [private]

The documentation for this class was generated from the following files:
This document is generated by doxygen.