Re: QUIC API (was: Re: Small size of core QUIC library to replace TCP for embedded system)
Lucas Pardue <lucaspardue.24.7@gmail.com> Fri, 07 August 2020 12:50 UTC
Return-Path: <lucaspardue.24.7@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EBBFD3A0CF8 for <quic@ietfa.amsl.com>; Fri, 7 Aug 2020 05:50:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.848
X-Spam-Level:
X-Spam-Status: No, score=-1.848 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vXcuTI59BRJq for <quic@ietfa.amsl.com>; Fri, 7 Aug 2020 05:50:11 -0700 (PDT)
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7AC463A0CE5 for <quic@ietf.org>; Fri, 7 Aug 2020 05:50:10 -0700 (PDT)
Received: by mail-wr1-x434.google.com with SMTP id r2so1563752wrs.8 for <quic@ietf.org>; Fri, 07 Aug 2020 05:50:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=DRbi+Adyt9MlhMRexZwDXl2Sll32igbPlW2xSG+KvkI=; b=Nn/Q+nI68SpSxlZH5TsQZxgBl4kMC47ywaqMs/ly1VRsYsXOEe1RL9dhf9dIVOwsce pMIIJkpGg+D2I7ZnGe7MYOcf+cu3ctQg0pPR2otQgYw9yBNGYo1CPIS9ZldSoz8xTScP VUVGXU4VizjOgCNq+TbpSJdpghH+qvKj3iaSBFajPCYgT1gnXh62ZQxCSba+Uk4F9krX FS2bTk3XZtQZ7f+CmomhkF3ffNFkkvZo2rXeQDkny3u2n6nKMf0eHxsjk9E9jFcDp/X0 rMkotQMj2Jjx0ZWQzZ3zGbAcTtQ/3aIQ4pRH52Tbwd0J41CqtPYLqQxIy8NAa1I5h/g9 RoBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=DRbi+Adyt9MlhMRexZwDXl2Sll32igbPlW2xSG+KvkI=; b=NmxuJQT1lfeALxL4aMBE5l+EEgGQyxZ1mXsbGe3i9MC2snRykSlu2Tr1ORuAMJzvkg Hff3KMgUV3aYTA3wQdb6ur1euLzYfEn3tijFyRKn1usQ3sFfo7UMzMIi6DscIE/Qz3al TXx5/cMExjtfL3GuJeJpKIiYwjLH3bArAB2gWQyXHCiwJDRMk4M/x2syit/hnsiAl3rs BVdZle34zaunhHPeBKWHjhoSsYK2PtaVnkmA8wsb6ar5lW90b0em9XII30fAhKm2lX2p FOdmAdF1VQ61lD6T8OIdMf3BNPi9fRcVMGGC0aK691Ubf+Yrexs0wfcIAiO3Qc62Kg7q nDIw==
X-Gm-Message-State: AOAM5335Q6M4xBWtZ89bkzBe/KA2A0zSN7JEUV8fvTjCAk4WjLNann4g iDYW/hrdj4L2S7cBGZ92jsHB7/Al1JYNjOpiA5E=
X-Google-Smtp-Source: ABdhPJyBaTf91NCqmPyT1d4wec8ZoyUJucZ3PH+VsC/4HC8BERpLF096i5dzGn55yuKwrNqR8VXBEb3z/Tal0TrCbRQ=
X-Received: by 2002:a5d:480b:: with SMTP id l11mr11482415wrq.85.1596804608884; Fri, 07 Aug 2020 05:50:08 -0700 (PDT)
MIME-Version: 1.0
References: <CAA=hcWS0V8ipsoAEFK3ejdA++Vzi+czth37=ntP4mnt8d=mtRg@mail.gmail.com> <F384B33C-70F8-45EF-AB5C-30D0A145659A@eggert.org> <CAA=hcWQ60GH2TnjvqBEGvVQ1whxNYwEWjQ+b9FW948GKvN570Q@mail.gmail.com> <2499749.AO4zfZtjs8@linux-9daj> <3D493D2B-BC8D-4CE9-B189-48770C3FA06F@eggert.org> <CAM4esxR+s-SCVOWb_-3TciVRk8Sp5NVWtjggqXM_XD2r3jup=Q@mail.gmail.com> <CALGR9oYDtdRyGAQ50OMFH2CTo=PR0ZwButK2DC26JkUhoifj1g@mail.gmail.com> <CAM4esxSkzijT8PMW7m2SY1j5c_AW=8L9tuq17RXWy+mmp4a0SA@mail.gmail.com> <CALGR9oacxe3EvYjeR_5yLpCga6EWcK_MLgvW_QCwidoH4Fjrzw@mail.gmail.com> <20E8EB0E-57C0-4C96-9CD6-DB0B69E94486@lurchi.franken.de>
In-Reply-To: <20E8EB0E-57C0-4C96-9CD6-DB0B69E94486@lurchi.franken.de>
From: Lucas Pardue <lucaspardue.24.7@gmail.com>
Date: Fri, 07 Aug 2020 13:49:59 +0100
Message-ID: <CALGR9oYbRGy-1HGAJqUfT41LbRgANe2rj13uie6zh_SR3qoUTA@mail.gmail.com>
Subject: Re: QUIC API (was: Re: Small size of core QUIC library to replace TCP for embedded system)
To: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
Cc: Martin Duke <martin.h.duke@gmail.com>, Lars Eggert <lars@eggert.org>, quic <quic@ietf.org>, Paul Vixie <paul@redbarn.org>
Content-Type: multipart/alternative; boundary="0000000000007d022305ac490b31"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/jEWMLAnb7v3infHi3sJRx5L9DlU>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 07 Aug 2020 12:50:18 -0000
Thanks for the additional context on TAPS and SCTP. The interesting thing for me in this context is the diversity of current QUIC implementations in terms of programming language (and language bindings), operating system support, and design paradigms. Which were mentioned up thread by others. Using Cloudflare quiche as an example, it is written in Rust and provides C bindings. It is independent of UDP socket and operates a bit like Kazuho's description of a push encoder; the application sets up a QUIC context (connection), feeds in application-layer data, and is presented a QUIC packet to be sent. This happens in the application's event loop of choice. Quiche provides a transport API layer and an HTTP/3 API layer the integrates on the top. Rust applications that use quiche can use Rust's network layer and benefit from it's cross platform support; we have example applications that work across Linux, Windows, MacOS, iOS, Android. Applications that use the C bindings have more work to do, mainly due to the difference between UDP socket programming. There are a already a large collection of QUIC implementations in different languages and using different paradigms. I think that diversity has benefits. I struggle to see how defining a common QUIC layer API would actually work out in practice but maybe I just lack vision. To give an example, an HTTP application is unlikely to write its own HTTP/3 mapping on top of QUIC. They'll rely on a mapping layer and chances are that it has a preferred integration with a QUIC layer. It would be interesting to poll the maintainers of such libraries to see if they perceive value in substitution, because chances are they are the ones that would have to rewrite both sides of the API boundary to make this a reality. Lucas
- Small size of core QUIC library to replace TCP fo… Jupiter
- RE: Small size of core QUIC library to replace TC… Nick Banks
- Re: Small size of core QUIC library to replace TC… Jana Iyengar
- Re: Small size of core QUIC library to replace TC… Lars Eggert
- Re: Small size of core QUIC library to replace TC… Jupiter
- Re: Small size of core QUIC library to replace TC… Lars Eggert
- Re: Small size of core QUIC library to replace TC… Jupiter
- Re: Small size of core QUIC library to replace TC… Paul Vixie
- Re: Small size of core QUIC library to replace TC… Lars Eggert
- QUIC API (was: Re: Small size of core QUIC librar… Lars Eggert
- Re: QUIC API (was: Re: Small size of core QUIC li… Martin Duke
- Re: QUIC API Paul Vixie
- RE: QUIC API Nick Banks
- Re: QUIC API (was: Re: Small size of core QUIC li… Lucas Pardue
- Re: QUIC API (was: Re: Small size of core QUIC li… Martin Duke
- Re: QUIC API (was: Re: Small size of core QUIC li… Lucas Pardue
- Re: QUIC API (was: Re: Small size of core QUIC li… David Schinazi
- Re: QUIC API (was: Re: Small size of core QUIC li… Christian Huitema
- Re: QUIC API (was: Re: Small size of core QUIC li… Robin MARX
- Re: QUIC API (was: Re: Small size of core QUIC li… Michael Welzl
- Re: QUIC API (was: Re: Small size of core QUIC li… Kazuho Oku
- Re: QUIC API (was: Re: Small size of core QUIC li… Michael Tuexen
- Re: QUIC API (was: Re: Small size of core QUIC li… Lucas Pardue
- Re: QUIC API (was: Re: Small size of core QUIC li… Bajpai, Vaibhav
- Re: QUIC API (was: Re: Small size of core QUIC li… Roberto Peon
- Re: QUIC API (was: Re: Small size of core QUIC li… Dirkjan Ochtman
- Re: QUIC API (was: Re: Small size of core QUIC li… Ian Swett