0
我想在發送興趣數據包之前在消費者節點上添加一些進程延遲。我發現Simulator :: Schedule()函數可能會達到這個目的。但我不確定如何正確使用它,因爲ndnSIM有自己的協議過程,如果我安排新的事件,它可能會導致一些意外的結果。或者是否有其他方式在NS-3的節點上插入延遲?如何模擬NS-3/ndnSIM中的過程延遲?
我想在發送興趣數據包之前在消費者節點上添加一些進程延遲。我發現Simulator :: Schedule()函數可能會達到這個目的。但我不確定如何正確使用它,因爲ndnSIM有自己的協議過程,如果我安排新的事件,它可能會導致一些意外的結果。或者是否有其他方式在NS-3的節點上插入延遲?如何模擬NS-3/ndnSIM中的過程延遲?
AFAIK,引入處理延遲的方式是Simulator::Schedule()
。 在你的例子中,你提到你想延遲一個興趣包的發送。而不是直接調用方法,你可以在一些(隨機)時間後安排它,即。你的過程延遲。這不應該打破模擬。
我認爲Schedule()的問題是它只會延遲事件,但節點仍然可以在等待的同時處理其他任務。而我的真正目的是模擬佔用CPU週期。我覺得模擬軟件可能無法做到這一點。 – iamabug
是的,你對此是正確的,但你的問題是關於在發送數據包之前添加'進程延遲',並且可以使用調度程序來實現。現在,如果你想'阻止'所有其他的操作是一個不同的故事,我需要調查。但是,即使在真實系統中,您仍然可以在處理其他數據時接收數據包。 CPU沒有被100%阻止,還有其他處理單元來處理某些任務。 – Konstantinos
謝謝,很高興有人與我討論。 – iamabug