Hi,
I am using "IBR-DTN version: 0.12.1 (build 7c220eb)" (Debian package) and I'm experiencing what I think is a strange behavior using dtnrecv.
The configuration for the 2 testing machines (machine-a and machine-b) are as follows (they are the same except for the machine name).
local_uri = dtn://machine-a.dtn logfile = ../ibrdtn/ibrdtn.log timezone = +9 limit_blocksize = 0 limit_lifetime = 604800 blob_path = ../ibrdtn/blobs storage_path = ../ibrdtn/bundles limit_storage = 10G discovery_address = ff02::142 routing = prophet routing_forwarding = yes scheduling = yes
The test is to use dtnsend on mahcine-a and dtnrecv on machine-b.
machine-a$ echo "test" | dtnsend dtn://machine-b.dtn/filetransfer machine-a$ echo "test2" | dtnsend dtn://machine-b.dtn/filetransfer
The issue is that on machine-b, no matter how many times I run dtnrecv, I get the same "test", which doesn't seem to get purged (I expect that I should get "test2" on the second try and dtnrecv should be waiting for future bundles in the third try).
machine-b$ dtnrecv test
machine-b$ dtnrecv test
machine-b$ dtnrecv test
In addition, the daemon throws the following error message everytime I run dtnrecv.
Tue Jul 8 10:57:21 2014 WARNING BLOB::copy: output stream failed [Success]; 0 of 6 bytes copied Tue Jul 8 10:57:21 2014 WARNING BLOB::copy: output stream failed [Success]; 0 of 6 bytes copied
However, on machine-b, if I run "dtnrecv --count 2", then the first bundle (and only the first bundle) gets purged.
machine-b$ dtnrecv --count 2 test Tue Jul 8 10:59:09 2014 NOTICE BundleEvent: bundle [458099790.1] dtn://machine-a.dtn/CNiYgszrzAzmOhSy delivered Tue Jul 8 10:59:09 2014 NOTICE BundlePurgeEvent: purging bundle [458099790.1] dtn://machine-a.dtn/CNiYgszrzAzmOhSy test2
If I continue to run dtnrecv, then I get "test2" all the time. And if I run "dtnrecv --count 2" one more time, then the second "test2" bundle finally gets purged.
Is this a bug, a misconfiguration, or an expected behavior?
Best regards, Pawit Pornkitprasan