Only one connection at a time.

Hi all,
Is there a way to make only one communication at a time for each node.
Here is what I want to do: I have three nodes, node1, node2, and node3 connected between them.
At instant 't1', node1 sends bundles to node2 during [t1,t1+ΔT].
At another instant t2 ∈ [t1,t1+ΔT], node3 sends bundles to node1 and node2. Consequently at that time, I want : - node1 rejects the bundles of node3 because node1 is receiving bundles (is already in communication) - node2 reject the bundles of node3 because node2 is sending bundles to node1.
So, I want that a node can reject bundles if it is in communication (exchanging bundles with other node(s)).
Best Regards, Farouk

Hello,
not easily I guess. For performance reasons, everything that can be done in parallel will be done in parallel. You might be able to set the TCP Convergence Layer so it only accepts/works on one connection at a time. You might also try adding some custom logic to some early validation routines. I think TCPCL pipes data very early through the BundleFilter, which might be extended.
However, generally I would advise against it. Is there any reason to do it? It will only hurt performance.
Sebastian

Thank you for your answer Sebastian,
What I want to achieve is, when two nodes enter into contacts, at instant 't' there is only one node that will be a forwarder and the other one is a receiver (I Post this message in previous mail : [IBR DTN] Notification about at the beginning of a bundle reception ).
1/ My first IDEA was to do as follows : My scenario only includes two nodes. The goal of this task is to select a forwarder from two nodes. That means, at an instant 't' only one node (node1 or node2) will send its bundles to its neighboring nodes.
To do that, I use timers 'T1' and 'T2' for node1 and node2, respectively. At the same time 't', both nodes initiate their timers. Suppose that T1 > T2, that means node1 should be the forwarder and node2 will be a receiver.
When T1 expires, node1 check if it is receiving bundles from neighbors ==> No, Then node1 sends its bundles for its neighbors. When T2 expires, node2 check if it is receiving bundles from neighbors ==> Yes, Then node2 does not send its bundles and act as receiver.
I didn't find a solution to make that, so I thought of another Idea 2/ which is to make Only one connection at a time using the bundle reject option. Thus, when a node is receiving/sending bundles, it rejects other bundles.
Best Regards, Farouk
On Wed, Apr 22, 2015 at 3:10 PM, Sebastian Schildt schildt@ibr.cs.tu-bs.de wrote:
participants (2)
-
Farouk Mezghani
-
Sebastian Schildt