|
DRCL J-Sim API | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectdrcl.DrclObj
drcl.comp.Component
drcl.net.Module
drcl.inet.Protocol
drcl.inet.protocol.Routing
drcl.inet.protocol.aodv.AODV
AODV.java: the main part of AODV protocols. The software is refered to: 1. AODV Draft (version. 11) 2. AODV class in ns-2. In ns-2, the AODV code developed by the CMU/MONARCH group was optimized and tuned by Samir Das and Mahesh Marina, University of Cincinnati. The work was partially done in Sun Microsystems.
| Nested Class Summary |
| Nested classes inherited from class drcl.comp.Component |
Component.Locks |
| Field Summary | |
static boolean |
debug
|
static int |
DEBUG_AODV
|
static int |
DEBUG_DATA
|
static int |
DEBUG_HELLO
|
static int |
DEBUG_RERR
Debug level of showing all RERR packets. |
static int |
DEBUG_ROUTE
|
static int |
DEBUG_RREP
Debug level of showing all RREP packets. |
static int |
DEBUG_RREQ
Debug level of showing all RREQ packets. |
static int |
DEBUG_SAMPLE
|
static int |
DEBUG_SEND
Debug level of sending AODV packets. |
static int |
DEBUG_TIMEOUT
|
static boolean |
debug2
|
| Fields inherited from class drcl.net.Module |
downPort, PortGroup_DOWN, PortGroup_UP, upPort |
| Constructor Summary | |
AODV()
Constructor. |
|
| Method Summary | |
void |
aodv_addRTEntry(long dst_,
long nexthop_,
double timeout_)
add a routing entry with specification of distance, nect hop and the timeout value |
void |
aodv_addRTEntry(long dst_,
long nexthop_,
double timeout_,
int interface_)
add a routing entry with specification of distance, nect hop ,the timeout value and the interface id |
java.lang.Object |
aodv_removeRTEntry(long dst)
each rt_down is associated with an aodv_removeRTEntry, rt_down is called when: (1) local repair timeout which then call nb_delete (2) recvError (3) handle_link_failure (which is called by nb_delete) (4) rt_purge |
void |
dataArriveAtDownPort(java.lang.Object data_,
Port downPort_)
Handle data arriving at the down port. |
void |
disable_link_detection()
|
void |
duplicate(java.lang.Object source_)
Duplicates the content of source_, including ID, name, child components and connections among them, to this component. |
void |
enable_link_detection()
If calling this function in the script, that means the underlying link layer provides the ability of detecting link broken, and then hello timer and neighbor timer will be never used. |
java.lang.String[] |
getDebugLevelNames()
Returns the names of defined debug levels; subclasses should override this method if debug levels are defined. |
java.lang.String |
getName()
Returns the (informational) name of the component. |
java.lang.String |
info()
Returns information regarding this component. |
void |
LinkBrokenEventHandler(InetPacket p,
Port inPort_)
This routine is invoked when the link-layer reports a route failed. |
void |
nb_delete(long id)
Called when we receive *explicit* notification that a Neighbor is no longer reachable. |
void |
recvError(AODV_RERR re,
InetPacket ipkt_)
receive a packet with RERR type, indicating the information of a broken link |
void |
recvHello(AODV_RREP rp,
InetPacket ipkt_)
receive a hello packet to maintain the neighbor relationship, Hello packet is only used when the link layer does not provide the link broken detection function |
void |
reset()
Resets the component for being used anew. |
int[] |
routeQueryHandler(InetPacket req_,
int incomingIf_,
Port inPort_)
|
void |
setSeed(long seed)
Sets the seed of the random number generator. |
| Methods inherited from class drcl.inet.protocol.Routing |
addRTEntry, addRTEntry, graftRTEntry, graftRTEntry, graftRTEntry, pruneRTEntry, pruneRTEntry, pruneRTEntry, removeAllRTEntries, removeRTEntry, removeRTEntry, retrieveAllRTEntries, retrieveBestRTEntryDest, retrieveRTEntry, retrieveRTEntryDest, retrieveRTEntrySrc |
| Methods inherited from class drcl.net.Module |
cancelTimeout, setTimeout, setTimeoutAt |
| Methods inherited from class drcl.DrclObj |
clone |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static boolean debug
public static boolean debug2
public static final int DEBUG_SAMPLE
public static final int DEBUG_AODV
public static final int DEBUG_SEND
public static final int DEBUG_RREQ
public static final int DEBUG_RREP
public static final int DEBUG_RERR
public static final int DEBUG_HELLO
public static final int DEBUG_TIMEOUT
public static final int DEBUG_DATA
public static final int DEBUG_ROUTE
| Constructor Detail |
public AODV()
| Method Detail |
public java.lang.String getName()
Component
getName in class Componentpublic java.lang.String[] getDebugLevelNames()
Component
getDebugLevelNames in class Componentpublic java.lang.String info()
Component
info in class Componentpublic void reset()
Component
reset in class Componentpublic void duplicate(java.lang.Object source_)
Component
duplicate in interface ObjectDuplicableduplicate in class Protocolpublic void enable_link_detection()
public void disable_link_detection()
public void LinkBrokenEventHandler(InetPacket p,
Port inPort_)
LinkBrokenEventHandler in class ProtocolProtocol.createLinkBrokenEventPort()
public int[] routeQueryHandler(InetPacket req_,
int incomingIf_,
Port inPort_)
RTLookup,
Protocol.createUcastQueryPort(),
Protocol.createMcastQueryPort()
public void dataArriveAtDownPort(java.lang.Object data_,
Port downPort_)
downPort_ - down port at which messages arrive.
public void recvError(AODV_RERR re,
InetPacket ipkt_)
public void recvHello(AODV_RREP rp,
InetPacket ipkt_)
public void nb_delete(long id)
public void aodv_addRTEntry(long dst_,
long nexthop_,
double timeout_)
public void aodv_addRTEntry(long dst_,
long nexthop_,
double timeout_,
int interface_)
public java.lang.Object aodv_removeRTEntry(long dst)
public void setSeed(long seed)
|
DRCL J-Sim API | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||