• 大小: 1.54MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-25
  • 语言: 其他
  • 标签: ns2.34  leach  

资源简介

ns2.34可以使用的leach文件

资源截图

代码片段和文件信息

/*************************************************************************
 *
 * This code was developed as part of the MIT SPIN project. (June 1999)
 *
 *************************************************************************/


#include 
#include 

#define SUCCESS 0
#define SUCCESS_STRING “success“
#define FAIL -1
#define FAIL_STRING “fail“
#define ALARM 1
#define ALARM_STRING “alarm“

static class EnergyResourceClass : public TclClass {
public:
  EnergyResourceClass() : TclClass(“Resource/Energy“) {}
  Tclobject* create(int const char*const*) {
    return (new EnergyResource);
  }
} class_EnergyResource;

EnergyResource::EnergyResource() 
{
  energy_level_ = 0;
  alarm_level_ = 0;
  bind(“energyLevel_“&energy_level_);
  bind(“alarmLevel_“&alarm_level_);
  bind(“expended_“&expended_);
}

int EnergyResource::command(int argc const char*const* argv)
{
  Tcl& tcl = Tcl::instance();

  if (argc == 2) {
    if (strcmp(argv[1] “query“) == 0) {
      double val = EnergyResource::query();
      tcl.resultf(“%f“val);
      return TCL_OK;
    }
  }
  else
  if (argc == 3) {
    if (strcmp(argv[1] “add“) == 0) {
      EnergyResource::add(atof(argv[2]));
      return TCL_OK;
    }
    else 
    if (strcmp(argv[1] “remove“) == 0) {
      int val = EnergyResource::remove(atof(argv[2]));
      tcl.resultf(“%s“EnergyResource::resulttostring(val));
      return TCL_OK;
    } 
    else
    if (strcmp(argv[1] “acquire“) == 0) {
      double val = EnergyResource::acquire(atof(argv[2]));
      tcl.resultf(“%f“EnergyResource::resulttostring((int)val));
      return TCL_OK;
    } 
  } 
  return Resource::command(argc argv);
}

void EnergyResource::add(double amount)
{
  energy_level_ += amount;
}

int EnergyResource::remove(double amount)
{
  double new_level = energy_level_ - amount;

  energy_level_ = new_level;
  expended_ += amount;

  if (new_level < 0)
    {
      return FAIL;
    }
  if (new_level < alarm_level_)
    {
      return ALARM;
    }
  return SUCCESS;
}

int EnergyResource::acquire(double amount)
{
  if ((energy_level_ - alarm_level_) < amount)
    {
      return FAIL;
    }

  return SUCCESS;
}

char *EnergyResource::resulttostring(int result)
{
  switch (result)
    {
    case SUCCESS:
      return SUCCESS_STRING;

    case FAIL:
      return FAIL_STRING;

    case ALARM:
      return ALARM_STRING;

    default:
      return NULL;
    }
  return NULL;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-04-25 00:01  直接覆盖的leach\
     目录           0  2013-04-24 23:55  直接覆盖的leach\app\
     文件        4169  2012-02-22 15:11  直接覆盖的leach\app\app.cc
     文件        2626  2012-02-22 15:12  直接覆盖的leach\app\app.h
     目录           0  2013-04-24 23:56  直接覆盖的leach\common\
     文件       15898  2012-02-22 15:13  直接覆盖的leach\common\mobilenode.cc
     文件        5107  2012-02-22 15:16  直接覆盖的leach\common\packet.cc
     文件       24587  2012-02-22 15:29  直接覆盖的leach\common\packet.h
     目录           0  2013-04-24 23:59  直接覆盖的leach\mac\
     文件       21033  2012-02-22 15:37  直接覆盖的leach\mac\channel.cc
     文件        4475  2012-02-22 15:38  直接覆盖的leach\mac\ll.h
     文件        1791  2004-03-30 03:35  直接覆盖的leach\mac\mac-sensor-timers.cc
     文件        1707  2004-03-30 03:42  直接覆盖的leach\mac\mac-sensor-timers.h
     文件        9344  2004-04-16 22:30  直接覆盖的leach\mac\mac-sensor.cc
     文件        3477  2004-03-30 03:42  直接覆盖的leach\mac\mac-sensor.h
     文件        5243  2012-02-22 15:39  直接覆盖的leach\mac\mac.cc
     文件        5750  2012-02-22 15:41  直接覆盖的leach\mac\phy.cc
     文件        5286  2012-02-22 15:43  直接覆盖的leach\mac\phy.h
     文件       20580  2012-02-22 15:56  直接覆盖的leach\mac\wireless-phy.cc
     文件        6058  2012-02-22 15:55  直接覆盖的leach\mac\wireless-phy.h
     目录           0  2013-04-25 00:00  直接覆盖的leach\mit\
     目录           0  2013-04-25 00:00  直接覆盖的leach\mit\leach_sims\
     文件         290  2011-05-19 19:04  直接覆盖的leach\mit\leach_sims\TDMAschedule.0.txt
     文件         290  2011-05-19 19:04  直接覆盖的leach\mit\leach_sims\TDMAschedule.100.txt
     文件         290  2011-05-19 19:04  直接覆盖的leach\mit\leach_sims\TDMAschedule.120.txt
     文件         290  2011-05-19 19:04  直接覆盖的leach\mit\leach_sims\TDMAschedule.140.txt
     文件         290  2011-05-19 19:05  直接覆盖的leach\mit\leach_sims\TDMAschedule.160.txt
     文件         290  2011-05-19 19:05  直接覆盖的leach\mit\leach_sims\TDMAschedule.180.txt
     文件         290  2011-05-19 19:04  直接覆盖的leach\mit\leach_sims\TDMAschedule.20.txt
     文件         290  2011-05-19 19:05  直接覆盖的leach\mit\leach_sims\TDMAschedule.200.txt
     文件         290  2011-05-19 19:05  直接覆盖的leach\mit\leach_sims\TDMAschedule.220.txt
............此处省略110个文件信息

评论

共有 条评论