From c1b146cfcac7d1e10cd6c82fd142fd6d6df58075 Mon Sep 17 00:00:00 2001 From: chengkan Date: Fri, 7 Jul 2023 17:53:52 +0800 Subject: [PATCH] add ngtcp2 Signed-off-by: chengkan --- thirdparty/ngtcp2/HPKBUILD | 51 +++++++++ thirdparty/ngtcp2/OAT.xml | 20 ++++ thirdparty/ngtcp2/README.OpenSource | 11 ++ thirdparty/ngtcp2/README_zh.md | 16 +++ thirdparty/ngtcp2/SHA512SUM | 1 + thirdparty/ngtcp2/docs/hap_integrate.md | 99 ++++++++++++++++++ thirdparty/ngtcp2/docs/pic/ngtcp2_install.png | Bin 0 -> 17337 bytes thirdparty/ngtcp2/docs/pic/ngtcp2_test.png | Bin 0 -> 12254 bytes thirdparty/ngtcp2/docs/pic/ngtcp2_usage.png | Bin 0 -> 95686 bytes 9 files changed, 198 insertions(+) create mode 100644 thirdparty/ngtcp2/HPKBUILD create mode 100644 thirdparty/ngtcp2/OAT.xml create mode 100644 thirdparty/ngtcp2/README.OpenSource create mode 100644 thirdparty/ngtcp2/README_zh.md create mode 100644 thirdparty/ngtcp2/SHA512SUM create mode 100644 thirdparty/ngtcp2/docs/hap_integrate.md create mode 100644 thirdparty/ngtcp2/docs/pic/ngtcp2_install.png create mode 100644 thirdparty/ngtcp2/docs/pic/ngtcp2_test.png create mode 100644 thirdparty/ngtcp2/docs/pic/ngtcp2_usage.png diff --git a/thirdparty/ngtcp2/HPKBUILD b/thirdparty/ngtcp2/HPKBUILD new file mode 100644 index 00000000..fe967706 --- /dev/null +++ b/thirdparty/ngtcp2/HPKBUILD @@ -0,0 +1,51 @@ +# Contributor: chengkan +# Maintainer: chengkan +pkgname=ngtcp2 +pkgver=v0.16.0 +pkgrel=0 +pkgdesc="ngtcp2 project is an effort to implement RFC9000 QUIC protocol" +url="https://github.com/ngtcp2/ngtcp2" +archs=("armeabi-v7a" "arm64-v8a") +license=("MIT") +depends=("CUnit" "openssl_quic" "nghttp3") +makedepends=() + +source="https://github.com/ngtcp2/$pkgname/archive/refs/tags/$pkgver.tar.gz" + +autounpack=true +downloadpackage=true + +builddir=$pkgname-${pkgver:1} +packagename=$builddir.tar.gz + +prepare() { + mkdir -p $builddir/$ARCH-build +} + +build() { + cd $builddir + # ohos的cmake 3.16 版本不支持 CMakeCCompiler.cmake:45:set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") 这个变量,所以使用编译机3.26版本的cmake + cmake "$@" -DOHOS_ARCH=$ARCH -B$ARCH-build -S./ -L > `pwd`/$ARCH-build/build.log 2>&1 + # main是ngtcp2的单元测试程序 需要一起编译出来 + make VERBOSE=1 -j4 -C $ARCH-build >> `pwd`/$ARCH-build/build.log 2>&1 && make VERBOSE=1 -j4 main -C $ARCH-build >> `pwd`/$ARCH-build/build.log 2>&1 + ret=$? + cd $OLDPWD + return $ret +} + +package() { + cd "$builddir" + make -C $ARCH-build install >> `pwd`/$ARCH-build/build.log 2>&1 + cd $OLDPWD +} + +check() { + echo "The test must be on an OpenHarmony device!" + # 设置LD_LIBRARY_PATH环境变量 + # ctest测试 +} + +# 清理环境 +cleanbuild() { + rm -rf ${PWD}/$builddir #${PWD}/$packagename +} diff --git a/thirdparty/ngtcp2/OAT.xml b/thirdparty/ngtcp2/OAT.xml new file mode 100644 index 00000000..96937ea0 --- /dev/null +++ b/thirdparty/ngtcp2/OAT.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/ngtcp2/README.OpenSource b/thirdparty/ngtcp2/README.OpenSource new file mode 100644 index 00000000..d35d42bc --- /dev/null +++ b/thirdparty/ngtcp2/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "ngtcp2", + "License": "MIT license", + "License File": "https://github.com/ngtcp2/ngtcp2/blob/main/COPYING", + "Version Number": "v0.16.0", + "Owner": "kanchengc@isoftstone.com", + "Upstream URL": "https://github.com/ngtcp2/ngtcp2/archive/refs/tags/v0.16.0.tar.gz", + "Description": "ngtcp2 project is an effort to implement IETF QUIC protocol." + } +] diff --git a/thirdparty/ngtcp2/README_zh.md b/thirdparty/ngtcp2/README_zh.md new file mode 100644 index 00000000..c6993455 --- /dev/null +++ b/thirdparty/ngtcp2/README_zh.md @@ -0,0 +1,16 @@ +# ngtcp2三方库说明 +## 功能简介 +ngtcp2项目是实现RFC9000 QUIC协议。 +## 使用约束 +- ROM版本:OpenHarmony3.2Release + +- IDE版本:DevEco Studio 3.1 Release + +- SDK:ohos_sdk_public 4.0.8.1 (API Version 10 Release) + +- 三方库版本:3.3.10 + + +- [MIT license](https://github.com/ngtcp2/ngtcp2/blob/main/COPYING) +## 集成方式 ++ [系统hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/ngtcp2/SHA512SUM b/thirdparty/ngtcp2/SHA512SUM new file mode 100644 index 00000000..55caeb98 --- /dev/null +++ b/thirdparty/ngtcp2/SHA512SUM @@ -0,0 +1 @@ +59fd3b1dacd34d6945acb4b2f4d7e9ea4b62496f4b834d24e4f3d5366a73976c26420baaab87de48cba0fcb64a9c18634ead7b2f839ac4687b4b066f58b938f6 ngtcp2-0.16.0.tar.gz diff --git a/thirdparty/ngtcp2/docs/hap_integrate.md b/thirdparty/ngtcp2/docs/hap_integrate.md new file mode 100644 index 00000000..73cba622 --- /dev/null +++ b/thirdparty/ngtcp2/docs/hap_integrate.md @@ -0,0 +1,99 @@ +# ngtcp2集成到应用hap +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 +## 开发环境 +- ubuntu20.04 +- [OpenHarmony3.2Release镜像](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fdayu200_standard_arm32.tar.gz) +- [ohos_sdk_public 4.0.8.1 (API Version 10 Release)](https://gitee.com/link?target=http%3A%2F%2Fdownload.ci.openharmony.cn%2Fversion%2FMaster_Version%2FOpenHarmony_4.0.8.1%2F20230608_091058%2Fversion-Master_Version-OpenHarmony_4.0.8.1-20230608_091058-ohos-sdk-public.tar.gz) +- [DevEco Studio 3.1 Release](https://gitee.com/link?target=https%3A%2F%2Fcontentcenter-vali-drcn.dbankcdn.cn%2Fpvt_2%2FDeveloperAlliance_package_901_9%2F81%2Fv3%2FtgRUB84wR72nTfE8Ir_xMw%2Fdevecostudio-windows-3.1.0.501.zip%3FHW-CC-KV%3DV1%26HW-CC-Date%3D20230621T074329Z%26HW-CC-Expire%3D315360000%26HW-CC-Sign%3D22F6787DF6093ECB4D4E08F9379B114280E1F65DA710599E48EA38CB24F3DBF2) +- [准备三方库构建环境](../../../tools/README.md#编译环境准备) +- [准备三方库测试环境](../../../tools/README.md#ci环境准备) + +## 编译三方库 +- 下载本仓库 + ``` + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` +- 三方库目录结构 + ``` + tpc_c_cplusplus/thirdparty/ngtcp2 #三方库ngtcp2的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── SHA512SUM #三方库校验文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md + ``` + +- 将ngtcp2拷贝和依赖的库拷贝至tools/main目录下 + ``` + cd tpc_c_cplusplus + cp thirdparty/ngtcp2 tools/main -rf + cp thirdparty/CUnit tools/main -rf + cp thirdparty/openssl_quic tools/main -rf + cp thirdparty/nghttp3 tools/main -rf + + ``` +- 在tools目录下编译三方库 + 编译环境的搭建参考[准备三方库构建环境](../../../tools/README.md#编译环境准备) + + ``` + (ngtcp2库所需要的依赖库有 CUnit openssl_quic nghttp3,所以编译时需要一起编译) + + cd tools + ./build.sh CUnit openssl_quic nghttp3 ngtcp2 + ``` +- 三方库头文件及生成的库 + 在tools目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + + ``` + ngtcp2/arm64-v8a ngtcp2/armeabi-v7a CUnit/arm64-v8a CUnit/armeabi-v7a + openssl_quic/arm64-v8a openssl_quic/armeabi-v7a nghttp3/arm64-v8a nghttp3/armeabi-v7a + ``` + +- [测试三方库](#测试三方库) + +## 应用中使用三方库 +- 在IDE的cpp目录下新增thirdparty/ngtcp2目录,将编译生成的库所在目录拷贝到该目录下,如下图所示 + ![ngtcp2_install](pic/ngtcp2_install.png) +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + ``` + + #将三方库加入工程中 + target_link_libraries(entry PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/ngtcp2/nghttp3/${OHOS_ARCH}/lib/libnghttp3.so.5 + ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/ngtcp2/openssl_quic/${OHOS_ARCH}/lib/libssl.so.81.1.1 + ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/ngtcp2/openssl_quic/${OHOS_ARCH}/lib/libcrypto.so.81.1.1 + ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/ngtcp2/ngtcp2/${OHOS_ARCH}/lib/libngtcp2_crypto_openssl.so.5 + ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/ngtcp2/ngtcp2/${OHOS_ARCH}/lib/libngtcp2.so.13) + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/ngtcp2/ngtcp2/${OHOS_ARCH}/include + ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/ngtcp2/openssl_quic/${OHOS_ARCH}/include + ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/ngtcp2/nghttp3/${OHOS_ARCH}/include) + + ``` + ![ngtcp2_usage](pic/ngtcp2_usage.png) +## 测试三方库 +三方库的测试使用原库自带的测试用例来做测试,[准备三方库测试环境](../../../tools/README.md#ci环境准备) + + + +- 将测试资源导入到开发板 +- 设置依赖库路径 +``` +32位系统 +export LD_LIBRARY_PATH=/data/local/tmp/lycium/usr/CUnit/armeabi-v7a/lib:/data/local/tmp/lycium/usr/nghttp3/armeabi-v7a/lib:/data/local/tmp/lycium/usr/ngtcp2/armeabi-v7a/lib:/data/local/tmp/lycium/usr/openssl_quic/armeabi-v7a/lib + +##64位系统 +export LD_LIBRARY_PATH=/data/local/tmp/lycium/usr/CUnit/arm64-v8a/lib:/data/local/tmp/lycium/usr/nghttp3/arm64-v8a/lib:/data/local/tmp/lycium/usr/ngtcp2/arm64-v8a/lib:/data/local/tmp/lycium/usr/openssl_quic/arm64-v8a/lib +``` +- 进入到构建目录执行 ctest 运行测试用例,如下截图(arm64-v8a-build为构建64位的目录,armeabi-v7a-build为构建32位的目录) + + + +![ngtcp2](pic/ngtcp2_test.png) + +## 参考资料 +- [润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld) +- [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +- [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +- [通过DevEco Studio开发一个NAPI工程](https://gitee.com/openharmony-sig/knowledge_demo_temp/blob/master/docs/napi_study/docs/hello_napi.md) diff --git a/thirdparty/ngtcp2/docs/pic/ngtcp2_install.png b/thirdparty/ngtcp2/docs/pic/ngtcp2_install.png new file mode 100644 index 0000000000000000000000000000000000000000..f83db668da5a94b416e09516bb0dc9449858cf20 GIT binary patch literal 17337 zcma)kc|6qp_qOc&nq8?BS+Xx9TaqpNo?T^&Vwh~%8p4fG$v%jZok}tYgOGj6zE0V) zjeXyq_YB?l{r!EP-}8F@s9rN>K4#wMoa?&Ibyy-XIG9PAM~nUI#Cej1^ty!DND!Oudjw@UX6Gqpx>)08!^Sg zAQL^He)aCs>Mhpqu)8B-U+&+hztyHG`BGw1;~v|cMf`p4J2nFpiACn_M`1tdgO1(Hf(!XWFN2r_C!QP~h1t8V-AK!0jJDZrjMoj` zH8wHn`^))fPvN1?aramC$+w)xQBYM|B2%qLcgiRBt0q#C6k_cHmixk0E05`Szyz#WTW`tl zt&XmRvWgt%OUBsgGBuNbN@nG?o2lEg_FE{%e(>lUJzJ|2{+Dh`2r58-#Z*`G*DP;? zcV!>%^c-M9W#bfmF7W4Q5&!H$vFb~$+t|V>RD;Y8uOCR0zGb3pghz6!@^7@V& zAL!ksao;M=`Y>))$WQKZaCzufjGN?DS>0;P@j>wEJ9oALrn>9OIGyw-v$15=k zjNs^7-k2@veo>U}>h0+GTcXmlH(EIs&Xzu$G;DCsp=#LJ z`@y`wFGT%>W;U9I+d%3^sc?eo1mjZ`2*v@L#g@$%uk`3@f7)V=_ovkl%#8D-b+_a# zxtvggR~eDoULEUK>Pt&E6N=>nw>n@FY45QwXE_gDS}qdORG2^a?WHJBp>NEFsl%4{ zF=@wiTG?%-zP}KRDFjsoV^6m6-ca8ra+$AN>gK2&DhlBxyUk1)+Av3=)=$Ri5S7x@ zb75b6RK1J4?6%WX*Vy}so|iEqXAJYb(bsvHP0BFQGhz^FvC@W*F-BU8KMLH|4Zjb$ zyeMDUk9cFyylyPv{@X=Me2kO&*VE*yEJ*F`se}2gnUBB}tyf5yCo8WkuP=%?ZAz-F$4wAN=ex zG#Hm9?`qqt+C~Clm2rsJJcU3pu5J-Sq3cTGlvt zwk`9dS-bB=VKWs$?DA`BsyCOxAUm27>7?ACPISfjAd&d9IbN{Afd+9fiVgyD$3l;g z+7UraLXEdZ2f-^;M&o^Ef)jL^5mMi9#y%m@iz*-B6Xqd!s>p7Nrkt_G6Nac#j;^)z zZP;yzUYd03%9;m3ymQ-|)$ehzB;MrWUvS@}aguoz^|d=HwxiMSawDd7+2iRgB6QGr z9MVv3hc9mP515QTayTh%Z=GKq6AXTdR#90!-2~ zUfQ67t6%IgQ$42aP+1xte)6({47?j->@wEYX$2L7Fd+SX(=Wk}F9o9O`fNjr!^$)w z=vm7;{jcFY(ieuNVtUIr2g)!t@jI_-#W4UPB70BbnJme``|OIS(W{%v@JJW4BnT5s zNAGP!ZuUayGm9FhlX9$b04#d{v9Og4Ix51N%zWctbRXTovDV4)^@QSMt5 z7fA;P4Mwhe5-<7pw!vV@qh{~WRn#kz1Tuy@%jDwmEhr#NdKePgpLHc zgEOf@PvXc&ciBf4OgdsNKq7Xfcu)0q_uW0d$H)opCH| zB*B!()HqiSE*>?{KPbh2`q8KuHCFE7;ktYn#op>98^#W~zrDv>O8s=zuo$I29I&?9 zl<7TbI0kU#%x9}Ae4Z9bY^o2_-dN}pgk~C^Ko0oPIRc(9)ySi@zS-sKeT%4UTt=Ch z#B&Coop>}CTPAt_YiS^~YkznxNMLU`jD&h5Ep#Vs7Gd3!f6N zmF6ELZUeofPxtaI(YO1sX`su_Hg2CZe~x3Zriw8tTNSU@It0G(I6Imh`N@MJ@1AsT zC^4MCte}MpnUvo|WpO2tB%xt!zNP<%PMukjyZ?s$i)%gyp58@H+G@cui$syF=~8&yL)2^X5UWq&!1AKl^acBwlJfo(TI%k(Kzm=0-#=Yl~4M zWm2lN5WMgD>gelZNfasDCd>|G98cMDxuMyDg%jqfbK3L}JPCa*w0+S-m%l%;UW|T$uU9S8fpXw4lUzjgn&S|>sO+}^`i_J zTYtJJqo2CzHle~5JDX`q1d*(Wq^OG(S1h2CY**UkF$z$8X8GtZah&)hyc0|9LeTT@z-vn6_R|snD z&u=P5QMqap!y?!w{6;(c*uDr<#QC@jvqEOiN(?i?3Ffn3p**;SEGB#o#}5bi_FrW{ za4^w*aU`tjH-C_@x&6z>?UVs)cZC*61qbU>JVy@8CVr7p=e(WA_gYxIEcKO8m#2@= z<(}tJUAX}RK)_T(dhB=3p#wBqilx~+ES%&{Bqb>j;7P3Rm#n9FVGE%Juo69-K$nY= z7_*U83EmlH$O2Ksp8q7l_SQH}Ay4OcRn=j#*%{Pep2@#B*)(bvO5pIYX7x^Ctfbtw z_wt)uCiH;EuQ%L<-9wT%9RG`CC3+{&!UF!!aG72#hDO)_XE&<)%qAEm>QX^U*o z!luK67m6io^;R3D!R?$+RUG}$co#J6;4-D&KKHQ)50ZIcuEXkU73{E%19!kgn9;ta z_J-J4+##Pu#)>5@k5#xOoo4=Z9wxy@@-{uJph%kEiKSxNel=F*&)Q>a09!=Hk{GKL zjA)76)9c_NPrUK+gt>Gp9S82=STh3!e}2lgDlM`Tb5OK-uVkMmKf8|{uhIAlyaWJ( zOj!|Tsj9~9{z=#ttrW8Qc`+?(lQGm=6XRyOlflsG_VHRC9ZrFLYkohTs$x3td0Xc77#W}WoMsvGJufMyLVpf z$g8>C&O}u)PKeLdH(|I{K6j+(D3D1V|86Hzk25_6V2JS8=;%WpB%&;bURgG{UI^eQ znyb!tK8K3Vwdv}`#CGlPr%FTLszPZ*=fuH2P^Id0IRap1+_gZ&{5u5um&BNt{ z-OmG;>b-f&;S`*=Tqj%B8b{IzeW6lkUQBnP;`Sc2IY8$(K5$Z7#ulK4JY-|Uyowqp zv%?4lTMX2HkWr0f_It%gh}3* zvT*{Ay!k(+s>d^c|LKo=!b94xxYM^4$&l3DLUCr@r9P`LVNfmZ+?`TrbsLa~mP8NRDT{X2wHZr)RynTimL-vrE0Uj$-NygcB zCb;hvifnFJ*WUfFyw{s|e(zTF(ph|NZp6sL35fIM;QY$C;Ag-o%$eF7`j$a=s`3nV zu5N681to3J_uY*{6^e4CLn+_X8kl0~{=IkN%O6>-C zc67KO=TNmjG_U!>K$fgjVkJ)Sx$sUusZ7XYiX zui-H3^oa#h_8P_{rt!h!j5_>gq|lz8>fCC zDZWiKg(L*d)qdW{IzsJS#T|4k1#^+5?AV@Zsft7_0h}QE{X=wt8^XvrQA`?XBH>M7 zqI(5CNlzhu7S3Ng)h4Me*Ph82Uq2RsI@4rw7k!=K#}c+Td-Mj>fpX+~yBD&S>HcR4 zG3tKoSu3G#KY8se54k{_a8u-$Ny{rn_1b^%{09+}@o2l>pt3V$UW%{P=d>>rL4 z!;T`8aoV|ew9ohcDmEl&2X|dnXm^zGlBz2ov_oq;DDKhM^IH!$U*)T(EY4J2)eo=z zCZ8%bc}vUF#hNrH;}g6!(P&|6V{NHDD()lcY1qnmJ9wQS7%~J^)b+eiI-5?-+0Hs! z?IOwSkmZ)G_GdJi_&{>XL&r@^XN1Q5{TGg$C+U&;xM2FE(8rjtLSO+-9oNOSll=H3 zUT+4=kM1#(m=AZ?8$dr0VNQ^d^*a z6sab)0J#js81~5?5o4*OC)2LVa#a;JUmO2ppEX-*QIFP!ei<9m*s0kRGXIVQwC{ zJHPI*ENe1}C9~1OcaH9!5444As+i@D`ihTcCcX8E9`p}vKiovfG-bKZgwi|akP{4~ z-upFcAt4=9!r7+YYqdzSJ)>2?I?DTO`AQeP5pi@U+Wj?7#AZm!ibJ>TRcU!WpIc$j@K>?u;1t6H$S0DZ*O!aLi&O4#)fj99mc;09?HiK zIW90`a4^O^vX*N~pk&2)Jx=w&V4M;#($;Pd&-39ZE)H5n^9c;IFwy^^F}TKeTcD z+h|pT+UHK5?nk1N5_ZtQZS}`*VfbNB_}GyM)6(l>()eC~foAXpbyQVg@v@t^p3=R; zm0O!39G@DRoITSq?FpIE9KVt{NIB+n{m`NgeaRKj6x1|pGaW(-TI*Ex+fZDUSM(I6^vgQ7tM-dED1Lw0(YQHyYhWz`E=e zg~}KQqAlCkJ;1{kHcbg%KM7*}Se^~Kjzq7Hp8wmr@U!6NPIR4ra^}*oOa=p_*IWXg zVrDf_?XyJ~+hNNxjG$zNN9r^Bi8$dihw+NAxHvnMm`r2>O%=#?FIWw&>)J<%*=T9( z2(C1jAuJNb<*BA)TX^VixVcq%a&?=Pime4z1ok z|E3^!xk_)X!D;bu*&>~$mkMB1tk?)-Q#=yab-1ZgAX>*2w4(?l6w#rz|KY*uxuxC8 ze$ip+6TFX9=85~MDKg-|ne@^|xMEuGbMygW*;3Tn0HpvVI zwc!4N1YYooCaoW9xz#dS+&(_vLzyg_^srpYEwU-t<00+7bK~LdvbIsC9SF%&)El4# zyo?LAw|jR}XpB3csuLDHr2sGfT!e4&wQv5aFm&}1?^};oUb)Zl6D)XG+~VJ-hi;#l znL6uXA`eY7Exinlq(>6ro1DYpc0HK|ba`Uuef5o0aQQgOKV}@Mg&hw6cL_{(&i2WV zM=1nrXm-=4Wmd%Y;z^hop*to9t!muUP(~_Pg%k&pcyeX^leLVsXkxI0n59y0<lu8Oj8Ae!4M~li=$|B5tUx3gzL}(bm#jVYRpxk{c0I zQ)i&JJ<=mUNPSIL5_)7>TJb}p%+ol*p3FjP=!ecOufCKbx(k0ANAz=9aZ!&>P6O7oeM^|AGDY0mVNHe8g5yNFqNcs2L z0}<$BRq5H5e#dj_ced=T2&p}k&`yP?P~U!KW2=J5hi$yK%mOV?6m&z27Fof6>OIU1 zUK``W4|~rArGh?sbO?Oc^s4m}_YPXtQcJ&)9-|gpH2aWDW^rug&QW`}m(-&0j}76m!G(nCC5qvPUB7-4-2+74{%x#Pym6;b2?{ z^?R~9V~Heb<_xyw-Z z@h5lJkLE9x36Nk7BusDCrfoS!t)GSfdV00P5rM=+aiPznHgK; zKt7+z?1l=xdEYbW=xF5hR&!{n)Opr8;R3jsJ;P!@%p!cyO)3= z8OU!;D8`TDf|eS8al?Iu1|Ndiart-O3vbnVWEROSDob?`@~NWdi%w0|NWgVP1tX8} zn^e(kHfWe=qWu+~JAXB`o7#R5cgt_}wv*oZl;7N0Y_)iZN_z2gZ?Rq2^N_LUXDk$??`DtztM+PdX8i$U9zBD~p4Djz&~mN8fnJ)i$@>>1W3&F?1e7`v!@4d29CDJAye zTT{`*-@Pvh9BM9?ipdhrW@9d>LRp^U*vZ%d+nEh4j|E1dq7t!h=65X#YFcfwO%r0( z=dX+v9&GAPpsd;Xe{EIMeoTTrd1(m5)MD;=!F6rJyR)0KKVhqMe+4rk(ag zeOX_+N&MEw4&*q3=2W*LdVjAO*>sUwXvqaG6L`G6>?6P>>Y~~Ma4Cl>Qf9b;thT{w zHLIZ3uF%3JCgTEB!tP(KqX1^d#JYT&>kM%OsxKjG7!2Po;Y{t(!pvW16JtSOxy0xx zx0cg-Ypf(XtOJEpZ$_hq#R-f0H7BjA_r9u~M1`Lrw+<${5rb~Kj`7&(PIjy5xhBTE z!a0jado>!>m-={VNapXc3b{o??{=$pb~8s(b$^a%amZqqOuqx z*Fr!XhRS$xilfg@2!o3u-7eFlg4I0d zW(y~uqe@@kI^NFJdz`Rkd< zr9S(9D15x<2uu^DDs{2HfQ10<KE|><|w%Ar+=(H z>^T8`*nK}@W=#_|K6)iq!nrF_xmK-SDQ_0@@8%ou4&W6n zgq2x&bAcJ&Jb-Oc`@UpzYVa2i7RGV;q*eUzVPS{6sx=tWfF|b>RLn#YP(}rCo*5iW zzIgTvx<`<|(dHvVBqD0u54WhX6s3@iK|yD>Gt-RA`FtiGN&$6qzng*tBJahe+TL7|t-c6D@N(VzEoD4~U5Y$fyDF=N~VPTEm<}Mg==C6w5s_!SS6K%lMI+`RX00WIX#$=D5AcKb{7BV86`uk_4CxJHp{dJ6$;(LNCJ7rPE2HT(~k zhcZD*IiK_3hut`xyS+dW1$WQAlO69%uT@@%pOT>|9K# z-)P?^adH1yR~ngJpJL%z0Ybejprz%>&1B-`l9q}cPI!QPAj>v!aVczXr5l|B3A#Yh zmPho)IGO|5@oh0AYN<3UNn46~^cyR_l*)+!*nIpM>u+`zJQ}O;bm>9lyAw)|xA*`ya%0Ie4 z5zRA)u=qt*G?wL1Z5~w7^hUj!`uO}i@|-$u&Npo(%Naupp}f6|YPYV~$7**>LlJ^Z z!|RFLGG!>&N(fBG}~r!snSB9V2Drg8r4*Smn3* zw`Xh$7xN0FF!t^(iGkn01pOWRACB^nDpaoXo+>wEt0MY^I`&0IGjtZ6+J!g9gfIWMBL0_A5-){yFo27-Zh`^e9`%yi zqQAgwcA!kkSO^ez)K4;O$AMWq*exe>F^yI#$JuNu3okm+zf4OPN#X25t^6i6`{VmW z%kuY-aIuKCsTX$NO=eOO_BV?I4{N2;lJ^Vq8M_3e;V_53Pr-yPUlYy0Gky(3WMFqE zeoIWDh@|jIUCC*!)HKj+LV&@HuSKGwQgJPMhU5mDJNo<CC$l!!vzMj}-CvFTEY1v~{O_1Wha``{+4_pLzT>@16A<+LzNe zsJGIKlJ+y2CfDxkPe%{RNQ4B}hT4x7@Op^p*p*7T+}eK9;&ZJxT?pGXT^|c+H7|Bm z*df4|iVlSmI^681(Uo-#rm}$0`(L$>m}Kg@)%3hF%*N^4&?DirBV_yeT4|}0^_qBD z<-=*eX0$T8QTvY^#Jo)27k|>F(PqH#xFz?we_o@U^OhI?(5Ld(U_xy7HQpy8nG5>e z;LB;hAAqLb+8$dLFUgE8im?)NVTH4U8LiLho{ipj{dLI=4dwtm2l7OZ;Y5zWulu(3 z&o681?K?A3STs5}8}xF*l^Sr^pnOrIeZ+=ds zY)#SkznC?5KVTFNJ{?SaOWz4tA@CxyfqupMwpg$G_KS)nex^~B|7`F#2}%_D9k!!0 z76&H7>)ezVOvAV8M(|kDutGM1gp7myqX)xUuRK!} z>F5TRuhGNDNqot_L24!%QN*bcW4KBU2T{^ojD#3R8M5)`RZoufei=V@j7OkE@|mJL zt|gc5FIJ^^m30bP8uCY)5p^(Di%|bc=HtiKgzXDd25p?=$Nj~_5{-lz&zhPQni{$_ zo2^Bk$^hI9xm3OJ?ZOSM?95-6vkm@gVvv%kkl)V_;HIQFbp_snh zCQV`D7Mw7$$6nP)>SB`%ta2jdxWRRHVu|I~H!n!_w?cwl4lPA3D>VD2L#TqkZQ0*=79~d+-IlqZ%|G*@gM)0?YoX}r-uK;CwUM|lpuyBGh)CVv zieU~oS}rN}?*ktnG9f@!4JgX(dt2xn>Po+en56C3XF}#b-$dt*eY0fP1kD6(o^!lF z^8UORQ@}1~iK}0|r2;>++LTQePH~=uox9rh0~I;3*7DxMRQ0U`Rp^%Lr$HJEWE^W? z_ktUti31@uK}Lmrb0#`JbT++$-$c+~a-NY$P+nPiA7J#e`Q$5+Gv|-Xp(gUx!bX^j zRvAeQq!tTw5XzAQ)#FRO=+&Vgo#?iYgKcDlMVo&tMzCNgc-XCT<_+DSXChH|KOC(T zqK}XItZU}?yZNzsOUgm4HqWgbOA?L>;X=`Z-xraa(wwAaj#ho5_3>aj-QRnqRjTH| zeK$qncnY09u{YB?Efl!buW-(9Cqbw$`G(s#D$Aj7{;`hG7&%7ZCR+Ee!ju=;TOYk= zWRwfd(ecM?2{W#tG<8yM<1=}CaAlG}58+T={U?dr6b}9P{lxSuf~VM(g1zx)Q;hh{ z#6^_AwampA%sHzoYW9Eh70<^h7vj&7Pq2`c#X1=6tnB$uWJwKBh~v`(ZQ zFC1T+QtU!{9~PiCDd@u*-%X)i1DPnd6h2T8PvVENt0*skWhI>7_1-G8=H`b$e>}&D zyMdR>9XgyAxN!AI2v@q8=W=f|Ch*D3bdCCO8#&l89sZxG{^0gOuBq^O1ua6sa&6&P ztMoIu9PfQKaH25{LE5Is6NKQpKzbm&fWPA0v5QZK< z82NocB+_)qwu2d>!z$tj8fu*0H7zgm-{i0seZyiT#c#3awEFhAbR}{^(0{*X2>UVk z8P4k@xmly@-sWAkwXc7Sre8Q%EZh-;bZWfQzNrjhsqU8wJc?hx`AMl{7VJHKddI?O zjXkgCovG0*=adobM*+)nzbPgT(N?w*q4i=%NdLYi^DeE)x!>!gf_ z6cNwb$`p)Egl{UhHHpsh%pO5GercFy~IHK4promg1 zS&X^7jer^F-?ZNn($WlLjDt*xL4f1e(cI8i2o|-li4W6gT~9w!>9IE^W!s)}UEDK; zmmIg2>C{WSg*8HjDJ|B{cFO;6#ncoBBg`IW=X=Qj!P(L$OT(=AVK)uOzSZq2dxh*) zbAFGd!iZF7S|S#j`r2P9mryv&Rv%7= zq#y4uI$M`6I1qIhbIYcQPX3!%aHHi}pYUGw98!|{0kgo0g|9CbyB4M0BAl$`#=kwM z0A{rQc2?}F@)e*q+VVV}*xjG49V8_pkkBD8C_=jQl{T2+s{TMac43-^zJdAd zOjUWx8#90t2PICa2*h=dd-G>c%Z|L-$@?g`(tWze;jPsct!C6)32+FwX~)@2ER&Tt z1q%Ktz1ia&(3}>Ylx@9Rd*Fu9O{(+ha)+EAi! zv+RySk}{Ty*br(7^8|OLl5b-ZP6A0}?^y@lew(C2Cf_*QcmANAgx>-ARwx39mbT^# zpKf2C+^cGqmkyGV)WMoi>S(4bPzplohMWqr8CzP@EAD~0j^Bo|pQMKghG2PY6dQbef(Lvs50G1J%{J-D z+wrC0Ps+jsmCcONy#;1Wr*XQcO-vajh1K~Lf2I)}5qba{!R2inf!y*2#I1d@GJFLJ z5d;U`wS$jcHTW}u5OD`>2oS++!T&Z({_nvVZaHewpOm--PQ0zT>mDJsni{doA~^X0 zsS%K+z9Q@9d!Y zhWvhwSz~MYgzeKYPys3`TTf>4<`ZQ1)P2(C~x(KNX<|^N#ws>49*@6r zCRPnvm1%w={n9)3?(?37tKeL%>Z;9mMO;M}tVQJ}pRuVQHIWlAR~MPiDi@o~av`62 z8(;I0_1S7%8c8`NaL0lf+ZW;+F(t&u?n>U__RVA#?#6{+qq)|H|1{m$(xqAJ2smb0 zB2ZM8xI|1fNa$ZK?05`T>zew%NwbcwE3U(S8_#_1uw44S$$K zqi``$K*CDt1TC(qpr1aoMJL8y%y4VUBcz@LO;Q7b(u&XpD}Qfhf$~@vnmYr(b7@-w%L;-r%_HLQf4pGZ zBg2{s_X4%55oqqLwW!tEhl$V40xzF~bY5==c&W$*kjY3&gGq!Z*mV9tWlxK{V^RMu zIWDook184aI-Akfvn$rNU0>lEoq2spU!nf9o4(uDSROwGg{=qH+Ly;|6GJzyM|hPY z5c9V~SAUxNl3O z4OYOwZ6{GbaSGM@;4BbZEPz!2FoMk@LEMih5P`l1DL~9Xf}Gm`f_=AT&dZNMz60n z@ph^qNI?Kj*vnQSWH1Xsvw^#&`F7Q}=Ep)c_QDa4!FUg_uEiew?A zrg}SX-+T$cnMUe_T21q}BuhTcTJJ`uA))TTvU|_Kq(&-fF)}Q-K9-g$K*RV;54PZUG$Skt58$e*LHnnl5a|nHXDJq$`b|{SG_f%$M<9-Rjt+fDuwR zfy(iG_vTlzHu|g%)-(6$v>Y3^kj1*@$&)7z+V!!2mbe|CBXF7sx5j+|FbQaUoWQu> z%ie8rybmS@jJ*5a1laW?n3LTkrgTm)z4nYFb!P%)HBeIj>~r77R{4ul)9Q4s8@MeX zn$L|p5oNT}(>N{o~04}9Aul@y@SjSJkx1=XgEt?4%HjT+m7W!EhZq1(}f>`bPhZoj>N z3_qft2J1Q5_eC&k(IMZPS(WdN zZI2(@=^`xG_)z>R#{+XJVX zMq9YaE&P^`kCq-I@>ScXV^_0Yf2yv^FkcxgFjyfsKwW}P+JSk@JQG{38cXhP<9oF| zXh%UuQ=w{#K`t4O8??xy!y1H=f*@BD9W7Es|IbdOX75L<%zJa}I_|V# z`e6U?>gg`r)nE5TU>|145Yh?~wVz1*=TMC0u2)`!fIY<9N7RCmm2tf-UcN_$XoR=4 z0m)?o=JS-p+4kIL)>*Cwp)SS(yS_AIndvAO6>?21A57eUHCVfsD|G4UuYYW(f9<&5 zCINHxs>iM4x2HA>W%#q(EPraB4q|4$O9w4zc36)NnwcjrdGg4NC1pjWvbTj~ewZFk9NsFjeAeD7D zvWkC1G)~G06QKzHeyGHRke7A%(NU+3Pz#&zSG*9s7(}J z?a+m0e+fR!2K!k=WjCMTM!q8}!?Mc411;sAJ%p7+ZhfB_F6A7Btes%de;wXD4zG-Gp2j-*_ z`X?5@lakx_&t%~NKIc>B%M~zp6Ih!EVH@H@E$ADXV`P?$UF^3u%`lffv%sCx{>=O8 z^f@FS-Grmc9U@ge$}OOh+y?5cJ}`tQM7=-vSqI!tlaM(^YOzk~>PeKXRU2lZN@20` zrlvZ{?%oaK76SRGM*l zS^ND6!yq?ZXEtwN?sOSoVg7fW#}w|f@v2*H_k=gc@r0Inoq#>4?e%l5e_@2?=qbtw zJKTLw`h}=g?!w!RXWIrPKYz!BU5msl+Fx=cwkuC{zj&v1Df%ZXnWW}($Rwspc(VN5 zXnaG=KFzBdiWgkRVn}g(laKnRt0$wC!^ArK?GfjHyG`68&z%o}i}k_ek2+aaiL|To zcjmx6*oA270`#rn>Fg&?2+FOK1lLgg#*XyX`*2s(=@2Z2>Rp7s75_TK2+YQBym{*3 z&ALz6o{RQ`0bH&NvH!DR}ESzUR;bBIzFdYzVZvAl26vcu>lfaQ}# z+_@m>3Grs&q7Y}jS0rU3QdIX_r^P6eXrEVDY^aP<%2lbOl7ln68g|qgT8}--NIFc; zRJgCifwalrsVaA6QR9N%Z$EFFyZRD6$^f>o?t?YdG1AdH?DptUnC<#os{~XAa3cPf z&Fnbbw2|S5hKb~tNMa1Q8~EjNyQ}=i^MRW>CIhayj8EO(zj7Cs2Ge!ZQu~DEQEN-Y zH9BOwj5P-*%@JCoYB|vRxRyX7ZE`Fopulfa;keu^yTIJ5`rzU5Ea%~nr3AHj>l=b> z;HX(3p-aE!eo1}hC_B0TcH*zod;h_XQx|nG^{AUeA6pqJ{B-VUIGRHT`CR{oz-!dB uv{Cr)TXKQXxW(#?z6pd`$G44RlB{=>rG8m=%CY|$hq|)%t)iPYLH`H-T#vc{ literal 0 HcmV?d00001 diff --git a/thirdparty/ngtcp2/docs/pic/ngtcp2_test.png b/thirdparty/ngtcp2/docs/pic/ngtcp2_test.png new file mode 100644 index 0000000000000000000000000000000000000000..ff1b03b822c8047e86b3eccd0d40a0155b857791 GIT binary patch literal 12254 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 B8f^do literal 0 HcmV?d00001 diff --git a/thirdparty/ngtcp2/docs/pic/ngtcp2_usage.png b/thirdparty/ngtcp2/docs/pic/ngtcp2_usage.png new file mode 100644 index 0000000000000000000000000000000000000000..ebc74b1674fae0b03fa23e18e4bca828f6135b4e GIT binary patch literal 95686 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