Small size of core QUIC library to replace TCP for embedded system

Jupiter <jupiter.hce@gmail.com> Tue, 21 July 2020 00:31 UTC

Return-Path: <jupiter.hce@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 8A9A23A1215 for <quic@ietfa.amsl.com>; Mon, 20 Jul 2020 17:31:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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_FROM=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 pDyA2_j_xtAW for <quic@ietfa.amsl.com>; Mon, 20 Jul 2020 17:31:11 -0700 (PDT)
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (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 46AE33A1219 for <quic@ietf.org>; Mon, 20 Jul 2020 17:31:11 -0700 (PDT)
Received: by mail-ej1-x62d.google.com with SMTP id f12so19853992eja.9 for <quic@ietf.org>; Mon, 20 Jul 2020 17:31:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=uq413mqgQXML87lfA+QpMYoPd3ItbZfzkv7nqK56Buo=; b=EOHMFnIBCPorhdLh4nQFPoy8CmHZ6i7LG371gGuinePTG4glg1zmsqgjJfsDRiy2Zx 6gQcWGzqn2x7Xd8mWuen7F3Xc7L6DgGUAeGIQ3TiOhhAA56jcmv1QkSheem5ugkmTJC8 py8jZDrcUyFnb71ET49g63x1tAF0GXK3jz5+CfXgYxFva4MBcuq2PCl1uhVY7Vc95i8E 2GzSxe7RqlQ7V7sHYGAJgw/JG/V0MmFhYqYS2bkrxjtfbGJYOpukuPHzSHWHp2YiD3gU LjKRDoJkVCCAijRaLVKv7uqMYEW1CA8XIp1YgAwEYoPBHwBPTX4WyOgX92azMAl3m4Xm JXEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=uq413mqgQXML87lfA+QpMYoPd3ItbZfzkv7nqK56Buo=; b=EEOMG0bUiMt/+hriibxaKBNtdhOzM6RMmDwpabtupHp4F5Smi6vgqafDDmiIHxnLAk LUEmGtACFXUpgELwPyYfPVqFL1NEE8a0ycCne3dROuirzmunJb1DMTLvGgRKd2V6AADa aI/jhvwj2/h3ehzKDIuPjoHon8ROncFQd4r2rIOl7SdpjcPo90bkJGt5oWp66RTYSgnh Tc0sHELOCmNakT4L7NqtkK9z0IT+J9agAM077kyR44DQRYGG+LYZoy4b+/Dexn4oH6zb 4Qxhla8Etl4l7S/NGb413pnJIcUiWpasjEOyYGrysu3B6WCxRiXBWMUNApGXWZK+R8bb 8jGw==
X-Gm-Message-State: AOAM530MwPfdLuuGIPJE/G53gSZEMBcTO7lUKSxQfFBJQlDtHVey7JKR 8/dIUrGOD+3i08If3GfiEKXNd9UN0u4q5Vrit2RLfpF7
X-Google-Smtp-Source: ABdhPJzrbe2rT/+0j9qDo2eaDmt8bNUvZjLLv+/NoDqNaHEJAqwPAf7UTtGr/+eJtfBu+dbns42QaIG7DMhzSqtiZY0=
X-Received: by 2002:a17:906:26c3:: with SMTP id u3mr22414125ejc.483.1595291469728; Mon, 20 Jul 2020 17:31:09 -0700 (PDT)
MIME-Version: 1.0
From: Jupiter <jupiter.hce@gmail.com>
Date: Tue, 21 Jul 2020 10:30:32 +1000
Message-ID: <CAA=hcWS0V8ipsoAEFK3ejdA++Vzi+czth37=ntP4mnt8d=mtRg@mail.gmail.com>
Subject: Small size of core QUIC library to replace TCP for embedded system
To: quic <quic@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/k5a1IgBIOAIH14_eWpSs6XPjC24>
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: Tue, 21 Jul 2020 00:31:13 -0000

Hi,

I am looking for a slim backbone core QUIC library to replace TCP stack.

Here are core features currently I am using TCP, I am wondering if
there is a QUIC open source library can be used or to be further
developed to replace following TCP key functionality

- Replace Boost ASIO TCP by QUIC for socket communication between the
device and Cloud services.

- Use (Address)-restricted-cone NAT

- Use TCP TLS

The major issue when I looked at Google and other QUIC source is
because it supports HTTPS, the size is too large, it is not
modularized, Some open source claimed the library can be used by
adding or removing options, the reality is most of the QUIC libraries
are designed based on HTTPS in mind, it is hard to have a clean small
size QUIC core functions above.

I have to admit my knowledge about QUIC is limited, but I am a
programmer, I am keen to participate a modular QUIC open source
development for embedded system, here are options:

- Take an existing QUIC library (C/C++)

- Fork a QUIC Git source to develop a slim C/C++ QUIC for the embedded system.

- Start from scratch based on reference of some QUIC library

Appreciate your advice and suggestions.

Thank you.

Kind regards,

jupiter




--
"A man can fail many times, but he isn't a failure until he begins to
blame somebody else."
-- John Burroughs