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

Tracelogtarget
int off_mac_
int off_ll_
int off_ip_
int off_sr_
ID net_id
ID MAC_id
NsObjectll
CMUPriQueueifq
Macmac_
MobileNodenode_
NsObjectport_dmux_
int tap_uid_cache [TAP_CACHE_SIZE]
RequestTable request_table
RouteCacheroute_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.