danalex97 / Speer

A network discrete event simulator for peer-to-peer network modeling.
MIT License
14 stars 3 forks source link

Bidirectional connections #42

Open danalex97 opened 5 years ago

danalex97 commented 5 years ago

When two nodes communicate via the capacity module they create unidirectional links. However, when a connection is established from node A to node B, node B cannot see the Link unless node A specifically sends the object through a ControlMessage. This effectively allows establishing a link only after an RTT.

This is, however, impractical since the user needs to implement a handshake mechanism for bidirectional connections. This issue is about creating and testing a BidirectionalPerfectLink in the capacity module. The new bi-directional link will eventually replace the PerfectLink.

Requirements:

Implementation: the easiest way to implement this is probably as following:

An example handshake mechanism can be found here.