32.3.1.0.3 SimpleLink../ns-2/ns-link.tcl

The class supports two instance procedures []dynamic../ns-2/dynamics.tclSimpleLink::dynamic and []trace-dynamics../ns-2/dynamics.tclSimpleLink::trace-dynamics. We have already described the latter procedure when describing the []trace procedure in the class rtModel.

The instance procedure []dynamic inserts a DynamicLink objectSectionsec:links:connectors at the head of the queue. It points the down-target of the object to the drop target of the link, drpT_, if the object is defined, or to the nullAgent_ in the simulator. It also signals each connector in the link that the link is now dynamic.

Most connectors ignore this signal to be become dynamic; the exception is DelayLink object. This object will normally schedule each packet it receives for reception by the destination node at the appropriate time. When the link is dynamic, the object will queue each packet internally; it schedules only one event for the next packet that will be delivered, instead of one event per packet normally. If the link fails, the route model will signal a reset, at which point, the shadow object will execute its reset instproc-like../ns-2/dynalink.ccDynaLink::command, and flush all packets in its internal queue. Additional details about the DelayLink can be found in another chapterChapterchap:delays.

Tom Henderson 2011-11-05