Thanks for the quick response, just as a follow up question:
If I do have a bundle, let's say the received.bundle from local, is there a way to split up its payload into smaller payloads and make each new payload its own bundle? My objective is to send in a file and then break it up into smaller payloads then choose among them to send to other nodes.
Thanks, Carson
On Mon, Nov 7, 2011 at 10:47 AM, Johannes Morgenroth < morgenro@ibr.cs.tu-bs.de> wrote:
Hello Carson.
Am 07.11.2011 16:25, schrieb Carson Dunbar:
I'm fairly new to the IBR-DTN router and was working on creating my own routing protocol for it. I had a couple of questions and Brenton Walker suggested that I post them here.
Brenton was right and welcome here. :-)
- Is there a way to get a block from a received bundle and split it
up into several smaller blocks that I can then make into new bundles with new EIDs?
Each routing module has the ability to load bundle from the storage with getBundle() and create new bundles. To announce the new bundles you should inject it like the local apps do this...
dtn::core::BundleGeneratedEvent::raise(bundle);
- How does the bundle filter work? When we pull bundles out of it
to transfer, are they removed from the database as well? I'm working on a data dissemination router and if there was a way to prevent that and maybe sequentially or randomly pull different data from the database as well, that would be useful.
The bundle filter is just a filter for the database. If you query for some bundles they do not get removed. To get different bundles each time you query, you should use a BundleList to select/reject offered bundles in the shouldAdd() function.
Kind regards, Johannes
-- Johannes Morgenroth Institut fuer Betriebssysteme und Rechnerverbund Tel.: +49-531-391-3249 Muehlenpfordtstrasse 23 Fax.: +49-531-391-5936 TU Braunschweig D-38106 Braunschweig