Skip to content

QUIC support #305

Closed
Closed

Description

@ronag

We have experimental QUIC support in node. Would be interesting to try HTTP 1.1 over QUIC.

Activity

  1. ronag commented on Aug 8, 2020

    @ronag
    MemberAuthor

    @jasnell: Will quic sockets support the consume/unconsume API that net/tls sockets support?

  2. jasnell commented on Aug 8, 2020

    @jasnell
    Member

    Not sure which consume/unconsume API you mean

  3. ronag commented on Aug 8, 2020

    @ronag
    MemberAuthor

    The node core HTTPParser has a consume method that can take a socket handle. See, https://github.com/mcollina/undici/blob/master/lib/client.js#L719-L725.

    This allows the socket to send data to the parser without doing a native->js->native roundtrip.

  4. jasnell commented on Aug 8, 2020

    @jasnell
    Member

    Ah... Yeah totally different model. It will fully consume a UDPWrap but the model is completely different in terms of how it does so

  5. ronag commented on Aug 8, 2020

    @ronag
    MemberAuthor

    Then I guess the native-js-native roundtrip is the only way.

  6. jasnell commented on Aug 8, 2020

    @jasnell
    Member

    No, in quic, all of the actual data flow is at the native layer. Data only comes to js via a QuicStream.

  7. ronag commented on Aug 8, 2020

    @ronag
    MemberAuthor

    Yes, I mean we will have to go from quic native layer -> js (QuicStream) -> native http parser

  8. jasnell commented on Aug 8, 2020

    @jasnell
    Member

    Ah for http1... Well, not necessarily. We could actually implement an Http1Application in core that could engage the native parser at that level, before data flows into js

  9. jasnell commented on Aug 8, 2020

    @jasnell
    Member

    As the implementation evolves, I plan to make it possible for native add-ons to create and register their own QuicApplication impls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Status: help-wantedThis issue/pr is open for contributions

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions