Skip to content

Document "Early Muxer Negotiation" #213

Closed
@p-shahi

Description

@p-shahi

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

  • 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.)
  • Describes benefits offered (saving RTTs and decreasing TTFB)
  • Describes how it works in TLS (with ALPN) and in Noise (with extension registry)
  • 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 add: fundamentals doc on connections #202 and Populate secure communication section: Noise & TLS #19

Why Important

We need to document and highlight the performance optimizations libp2p has specified and implemented.

Metadata

Metadata

Assignees

Labels

P0Criticalarea:generalGeneral content and concepts

Type

No type

Projects

Status

🎉 Done

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions