La idea es poder asignar dinámicamente el tamaño del buffer de nivel 3 en un nodo para generar cierta heterogeneidad en nivel memoria.
es decir cambiar la línea:
tcl/lib/ns-lib.tcl:915: set ragent [new Agent/ODMRPAgent [$node node-addr]]
por otra que tenga un parámetro más
set ragent [new Agent/ODMRPAgent [$node node-addr] $bufferSize]
Para esto nos vamos a basar en otro parametro que ha sido agregado al constructor create-wireless-node :
tcl/lib/ns-lib.tcl:342:# -sensorNode ON
tcl/lib/ns-lib.tcl:392:Simulator instproc sensorNode {val} {$self set sensorNode_ $val}
tcl/lib/ns-lib.tcl:804: $self instvar routingAgent_ sensorNode_
tcl/lib/ns-lib.tcl:808: } elseif { [info exists sensorNode_] && $sensorNode_ == "ON"} {
El resultado es el siguiente:
tcl/lib/ns-lib.tcl:344:# -OdmrBufferSize (espacios)
tcl/lib/ns-lib.tcl:396:Simulator instproc OdmrBufferSize {val} {$self set OdmrBufferSize_ $val }
tcl/lib/ns-lib.tcl:464: transitionTime_ satNodeType_ eotTrace_ phyTrace_ OdmrBufferSize_
tcl/lib/ns-lib.tcl:617: topoInstance_ level1_ level2_ inerrProc_ outerrProc_ FECProc_ rtAgentFunction_ OdmrBufferSize_
tcl/lib/ns-lib.tcl:651: if [info exists OdmrBufferSize_] {
tcl/lib/ns-lib.tcl:652: set ragent [$self create-odmr-agent $node $OdmrBufferSize_]