Ошибка утверждения ns3 buffer.h

Я создал новое приложение для ns3, которое, похоже, работает правильно, однако через несколько секунд выполнения (после того, как много пакетов было получено правильно), появляется следующая ошибка:

утверждение не удалось. cond = "m_current + delta‹ = m_dataEnd ", file =. / ns3 / buffer.h, line = 678

Есть идеи, что вызывает эту ошибку, и как я могу ее обойти / исправить?


person user000001    schedule 08.05.2012    source источник


Ответы (1)


Это всего лишь предположение, но похоже, что у вас переполнение буфера, т.е. текущий размер превышает его максимальный размер. Может быть, вы можете очистить буфер или увеличить его размер. Как сказано в сообщении, ошибка возникает в строке 678 файла buffer.h. Вы можете посмотреть на эту позицию, чтобы понять, какая операция вызывает утверждение, и, возможно, это поможет вам выяснить, что вам нужно сделать, чтобы избежать этого сообщения.

person AquilaRapax    schedule 08.05.2012
comment
Спасибо за ответ. Я ограничил размер пакета приложения 1450 байтами, и, похоже, он работает правильно. Похоже, что ns3 не фрагментирует слишком большие пакеты. Я попытаюсь фрагментировать пакеты на уровне приложения и посмотреть, решит ли это проблему. - person user000001; 08.05.2012