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

Trace * logtarget
int off_mac_
int off_ll_
int off_ip_
int off_sr_
ID net_id
ID MAC_id
NsObject * ll
CMUPriQueue * ifq
Mac * mac_
MobileNode * node_
NsObject * port_dmux_
int tap_uid_cache [TAP_CACHE_SIZE]
RequestTable request_table
RouteCache * route_cache
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

Friends

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

Constructor & Destructor Documentation

DSRAgent::DSRAgent (    ) 
 

DSRAgent::~DSRAgent (    ) 
 


Member Function Documentation

void DSRAgent::acceptRouteReply (  SRPacket &    p )  [private]
 

int DSRAgent::command (  int    argc,
const char *const *    argv
)  [virtual]
 

Reimplemented from Agent.

int DSRAgent::diff_subnet (  ID    dest,
ID    myid
)  [private]
 

void DSRAgent::dropSendBuff (  SRPacket &    p )  [private]
 

void DSRAgent::getRouteForPacket (  SRPacket &    p,
bool    retry
)  [private]
 

void DSRAgent::handleDefaultForwarding (  SRPacket &    p )  [private]
 

void DSRAgent::handleFlowForwarding (  SRPacket &    p,
int    flowidx
)  [private]
 

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
)  [private]
 

void DSRAgent::handleRouteRequest (  SRPacket &    p )  [private]
 

bool DSRAgent::ignoreRouteRequestp (  SRPacket &    p )  [private]
 

DSRAgent::LIST_ENTRY (  DSRAgent    ) 
 

void DSRAgent::processBrokenRouteError (  SRPacket &    p )  [private]
 

void DSRAgent::processFlowARS (  const Packet *    packet )  [private]
 

void DSRAgent::processUnknownFlowError (  SRPacket &    p,
bool    asDefault
)  [private]
 

void DSRAgent::recv (  Packet *   ,
Handler *    callback = 0
)  [virtual]
 

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
)  [private]
 

void DSRAgent::sendOutRtReq (  SRPacket &    p,
int    max_prop = MAX_SR_LEN
)  [private]
 

void DSRAgent::sendRouteShortening (  SRPacket &    p,
int    heard_at,
int    xmit_at
)  [private]
 

void DSRAgent::sendUnknownFlow (  SRPacket &    p,
bool    asDefault,
u_int16_t    flowid = 0
)  [private]
 

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,
...   
)  [private]
 

void DSRAgent::undeliverablePkt (  Packet *    p,
int    mine
)  [private]
 

void DSRAgent::xmitFailed (  Packet *    pkt,
const char *    reason = "DROP_RTR_MAC_CALLBACK"
)  [private]
 

void DSRAgent::xmitFlowFailed (  Packet *    pkt,
const char *    reason = "DROP_RTR_MAC_CALLBACK"
)  [private]
 


Friends And Related Function Documentation

int FilterFailure (  Packet *    p,
void *    data
)  [friend]
 

friend class SendBufferTimer [friend]
 

void XmitFailureCallback (  Packet *    pkt,
void *    data
)  [friend]
 

void XmitFlowFailureCallback (  Packet *    pkt,
void *    data
)  [friend]
 


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.