Open mrinalwadhwa opened 1 year ago
@mrinalwadhwa Have we ever supported such a use case? The MultiAddr resolution ends at node b
. During that resolution, node b
can't create a TCP connection from node hop
to node a
. So, how do you think node b
should treat that part of the MultiAddr?
On my side, I would question hops from another angle. When you create a hop on a node and you allow a message to choose where to go after the hop you implicitly couple the knowledge of the network topology to the node sending the message.
I am not a networking protocol expert but it seems to me that it is contrary to encapsulation principles. In general a message should give its final destination at a high-level without having to know about the actual topology. Then that routing should be translated to concrete addresses of concrete machines as an implementation detail. Kind of what is presented in this video. Are there existing protocols where hops are actually part of the high-level route of a message?
@etorreborre that is easily achievable with the current implementation. If you instantiate the topology first, you can give it an alias and use it, which hides the implementation/topology details from the user
@SanjoDeundiak yes. My question is: shouldn't this be the preferred way to do this sort of things?
@etorreborre Secure Channels already kind of do this. We always have an open possibility to use this approach even more if we decide to, for now I don't see strong reasons to do it
Investigate why the second route doesn't work:
We love helping new contributors! ❤️ If you have questions or need help as you explore, please join us on Discord. If you're looking for other issues to contribute to, please checkout our good first issues.