Как правильно сделать SetDefault?Почему в моем коде ошибка? - PullRequest
0 голосов
/ 28 мая 2019

Я использую NS-3 для сравнения алгоритма управления перегрузкой TCP. Но мне так трудно ...

Я привожу исходный код из Github, и произошла ошибка.

$ns3::Config::SetDefault("ns3::DropTailQueue", $StringValue("QUEUE_MODE_PACKETS"));

И мой терминал печатает, что msg = "Не удалось установить значение по умолчанию для ns3 :: DropTailQueue", file = .. / src / core / model / config.cc, line = 786 завершить вызов без активного исключения.

Я попытался найти проблему где, и я обнаружил, что "tid.GetAttributeN ()" равен нулю. Как добавить tid.GetAttributeN () ???

Пожалуйста, помогите мне, пользователь NS3 !!!!

config.cc

bool SetDefaultFailSafe(std::string fullName, const AttributeValue &value){
  NS_LOG_FUNCTION(fullName << &value);
  std::string::size_type pos = fullName.rfind("::");
  if(pos == std::string::npos){
      printf("pos == std::string::npos\n");
      return false;

  std::string tidName = fullName.substr(0,pos);
  paramName = fullName.substr(pos+2, fullName,size() - (pos+2));

  TypeId tid;
  bool ok = TypeId::LookupByNameFailSafe (tieName, &tid);
  if(!of){
  ///..
...