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