Hi Shyam,
if I understand you right, you want to wiretap all / specific crossing traffic like wireshark does?
IBR-DTN does not provide such mechanism to standard applications due to security reasons. But with the event API you can listen to QueueBundleEvent and then request that bundle ID using the standard API connection. At this time, there is no protection against reading non-local bundles via the extended protocol.
For the event API you switch into the right handler via "protocol event" and then you get the stream.
IBR-DTN 0.11.0 (build 4a406ca) API 1.0 protocol event 200 SWITCHED TO EVENT Event: BundleReceivedEvent Peer: dtn://syrah/test Local: true Source: dtn://syrah/test Timestamp: 442912579 Sequencenumber: 1 Lifetime: 3600 Procflags: 128 Destination: dtn://test/test
Event: QueueBundleEvent Source: dtn://syrah/test Timestamp: 442912579 Sequencenumber: 1 Lifetime: 3600 Procflags: 128 Destination: dtn://test/test
Kind regards, Johannes Morgenroth
Am 11.01.2014 02:57, schrieb Shyam B:
Hi,
This is regarding Epidemic routing and receiving bundles. Using dtntrigger for example, one can receive the bundle targeted to a particular target node. I.e. When the bundle arrives at the target node, the target node has an immediate knowledge of it (using payload, eid) via script.
Consider the scenario where epidemic routing is used, and an _intermediate node_ receives the bundle meant for a target node. Dtntrigger does not work in this case. My question is, how do I know that intermediate node has received a bundle (programmatically)? DTN daemon has this knowledge of received bundles by the intermediate node but, if an application running on this intermediate node wishes to know that some (external) bundle has been received, how would it know that. It is received into the 'bundles' directory, but I would like something like DTNTrigger for the intermediate node' knowledge! How can I achieve this?
This approach will be very helpful in my aerial application.
Thank you!
-- Best Regards, Shyam