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:
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


> On 22 Apr 2015, at 14:28, Farouk Mezghani <mezghani.f@gmail.com> wrote:
>
> 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
> --
> !! This message is brought to you via the `ibr-dtn' mailing list.
> !! Please do not reply to this message to unsubscribe. To unsubscribe or adjust
> !! your settings, send a mail message to <ibr-dtn-request@ibr.cs.tu-bs.de>
> !! or look at https://mail.ibr.cs.tu-bs.de/listinfo/ibr-dtn.