with the help of hemang advice, i changed my code from this
*// MY INCLUDED CODE
if (energy_model_->energy() <= 0) {
fprintf(stdout,"DEATH -t %f -n %d -e %.20f", s.clock(),address_,
energy_model_->energy());
fprintf(stderr,"DEATH -t %f -n %d -e %.20f", s.clock(),address_,
energy_model_->energy());
//exit(1);
}
// END OF MY INCLUDED CODE*
to this
*// MY INCLUDED CODE
if (energy_model_->energy() <= 0) {
fprintf(stdout,"DEATH -t %f -n %d -e %.20f", s.clock(),address_,
energy_model_->node_off());
fprintf(stderr,"DEATH -t %f -n %d -e %.20f", s.clock(),address_,
energy_model_->node_off());
//exit(1);
// return TCL_ERROR;
}
// END OF MY INCLUDED CODE*
in mobilenode.cc file.
is it ok guys?? itz urgent.. am i wrong at some point.. i ll be very
thankful to u..
where should i write return TCL_ERROR;
On Tue, May 31, 2011 at 12:37 AM, yogesh bansal <[email protected]>wrote:
> thanks a lot hemang for giving me so valueable idea....
>
>
>
>
>
> yogesh
>
>
> On Tue, May 31, 2011 at 12:18 AM, hemang kothari <
> [email protected]> wrote:
>
>> you can make it by using on/off function provided by mobilenode.cc file
>>
>> when energy reach to zero it will automatically switch off.
>>
>> On Tue, May 31, 2011 at 6:01 AM, yogesh bansal
>> <[email protected]>wrote:
>>
>>>
>>> hi to all ns users,
>>>
>>> hello sir/mam,
>>>
>>> plz plz help me.
>>>
>>> i want to stop the simulation of all those nodes having energy 0 and
>>> simulation of other nodes should continue having energy greater than 0.
>>>
>>>
>>> I've been trying to abort the execution in the Mobilenode::log_energy
>>> method
>>> in mobilenode.cc file in common folder.
>>> I'm doing something like this:
>>>
>>> *//this code is already present.*
>>> void
>>> MobileNode::log_energy(int flag)
>>> {
>>> if (!log_target_)
>>> return;
>>> Scheduler &s = Scheduler::instance();
>>> if (flag) {
>>> // sprintf(log_target_->pt_->buffer(),"N -t %f -n %d -e %f",
>>> s.clock(),
>>> sprintf(log_target_->pt_->buffer(),"N -t %f -n %d -e %.20f",
>>> s.clock(),address_, energy_model_->energy());
>>> } else {
>>> sprintf(log_target_->pt_->buffer(),"N -t %f -n %d -e 0 ", s.clock(),
>>> address_);
>>> }
>>> *// MY INCLUDED CODE
>>> if (energy_model_->energy() <= 0) {
>>> fprintf(stdout,"DEATH -t %f -n %d -e %.20f", s.clock(),
>>> address_, energy_model_->energy());
>>> fprintf(stderr,"DEATH -t %f -n %d -e %.20f", s.clock(),
>>> address_, energy_model_->energy());
>>> exit(1);
>>> }
>>> // END OF MY INCLUDED CODE*
>>> log_target_->pt_->dump();
>>> }
>>>
>>>
>>> *// by exit(1) the network exits. so where should i use exit??
>>>
>>>
>>> if i use return (TCL_ERROR); where should i write this in tcl file or
>>> here??
>>> *
>>>
>>
>>
>