Hello,
I've pretty much been able to finish my IBRDTN router, and now I am
testing it to find functional flaws and polish it up. One thing I noticed
is that when a node I am using goes out of range and a TransferAbortedEvent
occurs, the source continues to try and send bundles to that node
unsuccessfully until the node returns. I made my router based off of the
FloodRouter and EpidemicRouter that you included with your source code so
the code looks like this:
const dtn::net::TransferAbortedEvent &aborted = dynamic_cast<const
dtn::net::TransferAbortedEvent&>(*evt);
// transfer the next bundle to this destination
_taskqueue.push( new SearchNextBundleTask( aborted.getPeer() ) );
return;
I assume this was intentional, correct? I know that there are other
reasons why a bundle transfer should fail, but in my case, at least 99% of
the time it is because nodes come and go out of range fairly quickly.
Should I just comment out the taskqueue line to stop it from continuing to
send packets unsuccesfully and just wait until a connection event continues
bundle transmissions?
Thanks,
Carson