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
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.
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.
participants (2)
-
Farouk Mezghani
-
Sebastian Schildt