Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[multistream] Make the lazy variant more interoperable. #1855

Merged
merged 7 commits into from
Nov 25, 2020

Commits on Nov 24, 2020

  1. Make the lazy variant interoperable.

    The remaining optimisation for `V1Lazy` for a listener
    in the negotiation, whereby the listener delays flushing
    of the multistream version header, is hereby removed.
    The remaining effect of `V1Lazy` is only on the side of
    the dialer, which delays flushing of its singular
    protocol proposal in order to send it together with
    the first application data (or an attempt is made to
    read from the negotiated stream, which similarly
    triggers a flush of the protocol proposal). This
    permits `V1Lazy` dialers to be interoperable with
    `V1` listeners. The remaining theoretical pitfall whereby
    application data gets misinterpreted as another protocol
    proposal by a listener remains, however unlikely.
    
    `V1` remains the default, but we may eventually risk
    just making this lazy dialer flush a part of the default
    `V1` implementation, removing the dedicated `V1Lazy`
    version identifier.
    Roman S. Borschel committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    229e470 View commit details
    Browse the repository at this point in the history
  2. Update CHANGELOG

    Roman S. Borschel committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    3fabe47 View commit details
    Browse the repository at this point in the history
  3. Separate versions from mere header lines.

    Every multistream-select version maps to a specific header line,
    but there may be different variants of the same multistream-select
    version using the same header line, i.e. the same wire protocol.
    Roman S. Borschel committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    70f041b View commit details
    Browse the repository at this point in the history
  4. Cleanup

    Roman S. Borschel committed Nov 24, 2020
    Configuration menu
    Copy the full SHA
    b1ea9ed View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    dedf5ce View commit details
    Browse the repository at this point in the history

Commits on Nov 25, 2020

  1. Configuration menu
    Copy the full SHA
    b11a4a4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f32ce53 View commit details
    Browse the repository at this point in the history