Fragmentation works with two fragments, but not with more #911
Replies: 3 comments 6 replies
-
From a first glance this should work as you have done it. |
Beta Was this translation helpful? Give feedback.
-
This table looks nice, but it isn't very useful. Debugging the code and trying to understand what's going on would point much more towards the solution. |
Beta Was this translation helpful? Give feedback.
-
There are two issues here. The first is the address violation which is clearly a bug. It's fixed in the master branch now. The second issue is related to the 'ProgressTimer is currently scheduled' error message. I don't know what exactly you are trying to achieve here, but the InterpacketGapInserter after the FragmentNumberHeaderBasedFragmenter will not work. The reason is that the InterpacketGapInserter creates backpressure towards its input during the IPG period. Unfortunately, the FragmentNumberHeaderBasedFragmenter sends all fragments at once, and it can't really do anything else. You could modify your network like this: source -> splitter -> queue -> server -> gap -> joiner-> sink |
Beta Was this translation helpful? Give feedback.
-
Hi,
the following test simulation works with two fragments (even though an access violation (
Exception code=0xc0000005 flags=0x0 at 0x00007FFC3A9F649E. Access violation - attempting to read data at address 0x0000000700000018
) comes up after closing the simulation window), but does not with three framents or more. It ends with:<!> scheduleAt(): Message (inet::ClockEvent)ProgressTimer is currently scheduled, use cancelEvent() before rescheduling -- in module (inet::InterpacketGapInserter) FragmentationDefragmentation.gap (id=6), at t=0.2s, event #1
.Any ideas what my mistake is, or how to implement it with other Inet blocks?
Thank you. Wolfram
Beta Was this translation helpful? Give feedback.
All reactions