An optimization to when and how libp2p selects a muxer is actively underway.
The muxer will be negotiated and selected "early", as a part of the security handshake process (TLS and Noise) during connection establishment.
The Working Draft version of the spec is close to complete and the feature is being implemented in go-libp2p in Q4 2022 and in rust-libp2p sometime in Q2 2023.
[x] Documentation that describes this optimization and the contrasts it to the old status quo (early muxer negotiation & selection vs in later/separate in multistream selection round.)
[x] Describes benefits offered (saving RTTs and decreasing TTFB)
[x] Decide where to add this section; under a new Advanced Concepts section, under general connection establishment section, how to add a reference in stream multiplexing, how to reference in docs for secure channels (TLS and Noise). Relates to https://github.com/libp2p/docs/pull/202 and https://github.com/libp2p/docs/issues/19
Why Important
We need to document and highlight the performance optimizations libp2p has specified and implemented.
An optimization to when and how libp2p selects a muxer is actively underway. The muxer will be negotiated and selected "early", as a part of the security handshake process (TLS and Noise) during connection establishment. The Working Draft version of the spec is close to complete and the feature is being implemented in go-libp2p in Q4 2022 and in rust-libp2p sometime in Q2 2023.
Done Criteria
Why Important
We need to document and highlight the performance optimizations libp2p has specified and implemented.