libp2p / specs

Technical specifications for the libp2p networking stack
https://libp2p.io
1.56k stars 273 forks source link

Rework connections/readme.md to be more concise #288

Closed ShadowJonathan closed 2 years ago

ShadowJonathan commented 4 years ago

Fixes #238

Here I have some reworking and rewriting of the original connections spec, I personally find it too much of a core specification to be left ambiguous, thus I have done a rough cleanup of the document to more precisely document the core definitions and leave less ambiguity.

My methodology of moving and changing up the document was thus:

(pinging @yusefnapora, @JustMaier, @vasco-santos, @bigs, @mgoelzer)

(Please provide feedback to my draft, I expect this document to not be final as-is, but to at least put a step in the right direction)

ShadowJonathan commented 4 years ago

@raulk i want to get one thing down: to this document, streams are an application-level concept, implemented by a multiplexer protocol, while it is indeed convention to establish these at the start of each connection, i think this should explicitly be separated from connection-establishment as a method in further chapters to address application-level concerns (easily create connections for protocols to live on), not to mingle amongst fundamental definitions, as i think that would only complicate and obfuscate this document.

Specifically, streams are an IPFS concern and solution, libp2p is supposed to be modular, thus this document should reflect that, and effectively allow any and all forms of connection-establishment by mutual agreement on protocols, and to have that form itself from a baseline (the Bootstrap Protocol Negotiation).

ShadowJonathan commented 2 years ago

I will be closing this as there has been no progression, response, or any substantial change to the libp2p methodology lately. You can take these changes and work with them, or you can contact me to reopen it, but i will be closing this as to remove this from my todo list.