@fails-components/webtransport 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/readme.md +1 -3
- package/src/http3eventloop.cc +83 -9
- package/src/http3eventloop.h +13 -3
- package/src/http3server.cc +22 -22
- package/src/http3server.h +7 -20
- package/src/http3wtstreamvisitor.cc +31 -10
- package/src/http3wtstreamvisitor.h +38 -11
- package/src/webtransport.js +91 -23
- package/test/echoserver.js +29 -5
- package/test/testsuite.js +242 -220
- package/third_party/boringssl/src/CMakeLists.txt +2 -0
- package/third_party/boringssl/src/crypto/CMakeLists.txt +1 -0
- package/third_party/boringssl/src/crypto/asn1/a_bitstr.c +174 -177
- package/third_party/boringssl/src/crypto/asn1/a_bool.c +46 -48
- package/third_party/boringssl/src/crypto/asn1/a_d2i_fp.c +21 -23
- package/third_party/boringssl/src/crypto/asn1/a_dup.c +21 -23
- package/third_party/boringssl/src/crypto/asn1/a_gentm.c +84 -187
- package/third_party/boringssl/src/crypto/asn1/a_i2d_fp.c +19 -21
- package/third_party/boringssl/src/crypto/asn1/a_int.c +305 -329
- package/third_party/boringssl/src/crypto/asn1/a_mbstr.c +190 -195
- package/third_party/boringssl/src/crypto/asn1/a_object.c +182 -189
- package/third_party/boringssl/src/crypto/asn1/a_octet.c +6 -9
- package/third_party/boringssl/src/crypto/asn1/a_print.c +15 -16
- package/third_party/boringssl/src/crypto/asn1/a_strex.c +386 -399
- package/third_party/boringssl/src/crypto/asn1/a_strnid.c +110 -131
- package/third_party/boringssl/src/crypto/asn1/a_time.c +118 -111
- package/third_party/boringssl/src/crypto/asn1/a_type.c +59 -60
- package/third_party/boringssl/src/crypto/asn1/a_utctm.c +114 -186
- package/third_party/boringssl/src/crypto/asn1/a_utf8.c +171 -159
- package/third_party/boringssl/src/crypto/asn1/asn1_lib.c +245 -260
- package/third_party/boringssl/src/crypto/asn1/asn1_par.c +41 -40
- package/third_party/boringssl/src/crypto/asn1/asn1_test.cc +31 -0
- package/third_party/boringssl/src/crypto/asn1/asn_pack.c +31 -33
- package/third_party/boringssl/src/crypto/asn1/f_int.c +36 -33
- package/third_party/boringssl/src/crypto/asn1/f_string.c +29 -26
- package/third_party/boringssl/src/crypto/asn1/internal.h +62 -61
- package/third_party/boringssl/src/crypto/asn1/tasn_dec.c +706 -702
- package/third_party/boringssl/src/crypto/asn1/tasn_enc.c +507 -524
- package/third_party/boringssl/src/crypto/asn1/tasn_fre.c +141 -133
- package/third_party/boringssl/src/crypto/asn1/tasn_new.c +207 -199
- package/third_party/boringssl/src/crypto/asn1/tasn_typ.c +19 -22
- package/third_party/boringssl/src/crypto/asn1/tasn_utl.c +24 -24
- package/third_party/boringssl/src/crypto/asn1/time_support.c +13 -13
- package/third_party/boringssl/src/crypto/bio/connect.c +9 -3
- package/third_party/boringssl/src/crypto/bytestring/bytestring_test.cc +125 -1
- package/third_party/boringssl/src/crypto/bytestring/cbb.c +4 -7
- package/third_party/boringssl/src/crypto/bytestring/cbs.c +167 -9
- package/third_party/boringssl/src/crypto/cipher_extra/e_aesctrhmac.c +0 -2
- package/third_party/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.c +23 -54
- package/third_party/boringssl/src/crypto/cipher_extra/e_chacha20poly1305.c +0 -2
- package/third_party/boringssl/src/crypto/cipher_extra/e_tls.c +0 -2
- package/third_party/boringssl/src/crypto/curve25519/curve25519.c +6 -8
- package/third_party/boringssl/src/crypto/evp/evp_ctx.c +25 -22
- package/third_party/boringssl/src/crypto/evp/internal.h +15 -9
- package/third_party/boringssl/src/crypto/evp/p_dsa_asn1.c +2 -0
- package/third_party/boringssl/src/crypto/evp/p_ec_asn1.c +2 -0
- package/third_party/boringssl/src/crypto/evp/p_ed25519.c +3 -3
- package/third_party/boringssl/src/crypto/evp/p_ed25519_asn1.c +10 -7
- package/third_party/boringssl/src/crypto/evp/p_hkdf.c +241 -0
- package/third_party/boringssl/src/crypto/evp/p_rsa_asn1.c +2 -0
- package/third_party/boringssl/src/crypto/evp/p_x25519_asn1.c +1 -0
- package/third_party/boringssl/src/crypto/fipsmodule/aes/aes_nohw.c +9 -10
- package/third_party/boringssl/src/crypto/fipsmodule/aes/key_wrap.c +2 -6
- package/third_party/boringssl/src/crypto/fipsmodule/bn/exponentiation.c +5 -11
- package/third_party/boringssl/src/crypto/fipsmodule/bn/internal.h +1 -1
- package/third_party/boringssl/src/crypto/fipsmodule/bn/prime.c +2 -0
- package/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c +10 -26
- package/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aesccm.c +2 -3
- package/third_party/boringssl/src/crypto/fipsmodule/digestsign/digestsign.c +1 -0
- package/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz.c +44 -43
- package/third_party/boringssl/src/crypto/fipsmodule/modes/cbc.c +5 -9
- package/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c +14 -21
- package/third_party/boringssl/src/crypto/fipsmodule/rand/ctrdrbg.c +8 -8
- package/third_party/boringssl/src/crypto/fipsmodule/rand/internal.h +1 -4
- package/third_party/boringssl/src/crypto/hkdf/hkdf_test.cc +104 -0
- package/third_party/boringssl/src/crypto/internal.h +18 -4
- package/third_party/boringssl/src/crypto/lhash/internal.h +13 -1
- package/third_party/boringssl/src/crypto/obj/obj_dat.h +4 -1
- package/third_party/boringssl/src/crypto/obj/obj_mac.num +1 -0
- package/third_party/boringssl/src/crypto/obj/objects.txt +2 -0
- package/third_party/boringssl/src/crypto/pem/pem_all.c +77 -86
- package/third_party/boringssl/src/crypto/pem/pem_info.c +221 -233
- package/third_party/boringssl/src/crypto/pem/pem_lib.c +639 -608
- package/third_party/boringssl/src/crypto/pem/pem_oth.c +17 -16
- package/third_party/boringssl/src/crypto/pem/pem_pk8.c +133 -142
- package/third_party/boringssl/src/crypto/pem/pem_pkey.c +96 -92
- package/third_party/boringssl/src/crypto/poly1305/poly1305_vec.c +12 -28
- package/third_party/boringssl/src/crypto/siphash/siphash.c +8 -11
- package/third_party/boringssl/src/crypto/siphash/siphash_test.cc +5 -7
- package/third_party/boringssl/src/crypto/stack/stack.c +33 -16
- package/third_party/boringssl/src/crypto/thread_pthread.c +0 -2
- package/third_party/boringssl/src/crypto/thread_win.c +0 -2
- package/third_party/boringssl/src/crypto/trust_token/internal.h +14 -0
- package/third_party/boringssl/src/crypto/trust_token/pmbtoken.c +127 -30
- package/third_party/boringssl/src/crypto/trust_token/trust_token.c +40 -0
- package/third_party/boringssl/src/crypto/trust_token/trust_token_test.cc +165 -0
- package/third_party/boringssl/src/crypto/trust_token/voprf.c +55 -6
- package/third_party/boringssl/src/crypto/x509/a_digest.c +23 -24
- package/third_party/boringssl/src/crypto/x509/a_sign.c +52 -55
- package/third_party/boringssl/src/crypto/x509/a_verify.c +33 -34
- package/third_party/boringssl/src/crypto/x509/algorithm.c +17 -18
- package/third_party/boringssl/src/crypto/x509/asn1_gen.c +618 -612
- package/third_party/boringssl/src/crypto/x509/by_dir.c +320 -337
- package/third_party/boringssl/src/crypto/x509/by_file.c +186 -186
- package/third_party/boringssl/src/crypto/x509/i2d_pr.c +11 -14
- package/third_party/boringssl/src/crypto/x509/internal.h +22 -22
- package/third_party/boringssl/src/crypto/x509/name_print.c +155 -150
- package/third_party/boringssl/src/crypto/x509/rsa_pss.c +27 -29
- package/third_party/boringssl/src/crypto/x509/t_crl.c +67 -70
- package/third_party/boringssl/src/crypto/x509/t_req.c +3 -5
- package/third_party/boringssl/src/crypto/x509/t_x509.c +280 -251
- package/third_party/boringssl/src/crypto/x509/t_x509a.c +52 -47
- package/third_party/boringssl/src/crypto/x509/x509.c +3 -4
- package/third_party/boringssl/src/crypto/x509/x509_att.c +234 -223
- package/third_party/boringssl/src/crypto/x509/x509_cmp.c +286 -296
- package/third_party/boringssl/src/crypto/x509/x509_d2.c +37 -32
- package/third_party/boringssl/src/crypto/x509/x509_def.c +14 -30
- package/third_party/boringssl/src/crypto/x509/x509_ext.c +55 -84
- package/third_party/boringssl/src/crypto/x509/x509_lu.c +545 -581
- package/third_party/boringssl/src/crypto/x509/x509_obj.c +131 -121
- package/third_party/boringssl/src/crypto/x509/x509_req.c +120 -139
- package/third_party/boringssl/src/crypto/x509/x509_set.c +128 -142
- package/third_party/boringssl/src/crypto/x509/x509_trs.c +185 -193
- package/third_party/boringssl/src/crypto/x509/x509_txt.c +70 -72
- package/third_party/boringssl/src/crypto/x509/x509_v3.c +172 -161
- package/third_party/boringssl/src/crypto/x509/x509_vfy.c +2041 -2053
- package/third_party/boringssl/src/crypto/x509/x509_vpm.c +441 -461
- package/third_party/boringssl/src/crypto/x509/x509cset.c +152 -170
- package/third_party/boringssl/src/crypto/x509/x509name.c +274 -260
- package/third_party/boringssl/src/crypto/x509/x509rset.c +43 -20
- package/third_party/boringssl/src/crypto/x509/x509spki.c +62 -63
- package/third_party/boringssl/src/crypto/x509/x_algor.c +64 -62
- package/third_party/boringssl/src/crypto/x509/x_all.c +103 -133
- package/third_party/boringssl/src/crypto/x509/x_attrib.c +23 -24
- package/third_party/boringssl/src/crypto/x509/x_crl.c +310 -321
- package/third_party/boringssl/src/crypto/x509/x_exten.c +6 -5
- package/third_party/boringssl/src/crypto/x509/x_info.c +31 -28
- package/third_party/boringssl/src/crypto/x509/x_name.c +361 -365
- package/third_party/boringssl/src/crypto/x509/x_pkey.c +38 -32
- package/third_party/boringssl/src/crypto/x509/x_pubkey.c +114 -117
- package/third_party/boringssl/src/crypto/x509/x_req.c +27 -29
- package/third_party/boringssl/src/crypto/x509/x_sig.c +2 -2
- package/third_party/boringssl/src/crypto/x509/x_spki.c +8 -10
- package/third_party/boringssl/src/crypto/x509/x_val.c +2 -2
- package/third_party/boringssl/src/crypto/x509/x_x509.c +212 -226
- package/third_party/boringssl/src/crypto/x509/x_x509a.c +112 -109
- package/third_party/boringssl/src/crypto/x509v3/ext_dat.h +10 -13
- package/third_party/boringssl/src/crypto/x509v3/internal.h +72 -87
- package/third_party/boringssl/src/crypto/x509v3/pcy_cache.c +184 -176
- package/third_party/boringssl/src/crypto/x509v3/pcy_data.c +58 -56
- package/third_party/boringssl/src/crypto/x509v3/pcy_lib.c +71 -70
- package/third_party/boringssl/src/crypto/x509v3/pcy_map.c +56 -58
- package/third_party/boringssl/src/crypto/x509v3/pcy_node.c +89 -91
- package/third_party/boringssl/src/crypto/x509v3/pcy_tree.c +585 -590
- package/third_party/boringssl/src/crypto/x509v3/v3_akey.c +118 -112
- package/third_party/boringssl/src/crypto/x509v3/v3_akeya.c +3 -3
- package/third_party/boringssl/src/crypto/x509v3/v3_alt.c +447 -451
- package/third_party/boringssl/src/crypto/x509v3/v3_bcons.c +44 -38
- package/third_party/boringssl/src/crypto/x509v3/v3_bitst.c +39 -43
- package/third_party/boringssl/src/crypto/x509v3/v3_conf.c +321 -320
- package/third_party/boringssl/src/crypto/x509v3/v3_cpols.c +352 -327
- package/third_party/boringssl/src/crypto/x509v3/v3_crld.c +437 -383
- package/third_party/boringssl/src/crypto/x509v3/v3_enum.c +23 -16
- package/third_party/boringssl/src/crypto/x509v3/v3_extku.c +62 -53
- package/third_party/boringssl/src/crypto/x509v3/v3_genn.c +118 -115
- package/third_party/boringssl/src/crypto/x509v3/v3_ia5.c +30 -31
- package/third_party/boringssl/src/crypto/x509v3/v3_info.c +112 -98
- package/third_party/boringssl/src/crypto/x509v3/v3_int.c +40 -15
- package/third_party/boringssl/src/crypto/x509v3/v3_lib.c +248 -252
- package/third_party/boringssl/src/crypto/x509v3/v3_ncons.c +390 -386
- package/third_party/boringssl/src/crypto/x509v3/v3_ocsp.c +45 -32
- package/third_party/boringssl/src/crypto/x509v3/v3_pci.c +206 -209
- package/third_party/boringssl/src/crypto/x509v3/v3_pcia.c +6 -8
- package/third_party/boringssl/src/crypto/x509v3/v3_pcons.c +54 -50
- package/third_party/boringssl/src/crypto/x509v3/v3_pmaps.c +66 -65
- package/third_party/boringssl/src/crypto/x509v3/v3_prn.c +144 -133
- package/third_party/boringssl/src/crypto/x509v3/v3_purp.c +695 -709
- package/third_party/boringssl/src/crypto/x509v3/v3_skey.c +75 -69
- package/third_party/boringssl/src/crypto/x509v3/v3_utl.c +1102 -1082
- package/third_party/boringssl/src/include/openssl/base.h +3 -1
- package/third_party/boringssl/src/include/openssl/bn.h +3 -0
- package/third_party/boringssl/src/include/openssl/bytestring.h +20 -0
- package/third_party/boringssl/src/include/openssl/evp.h +6 -5
- package/third_party/boringssl/src/include/openssl/kdf.h +91 -0
- package/third_party/boringssl/src/include/openssl/nid.h +4 -0
- package/third_party/boringssl/src/include/openssl/ssl.h +6 -1
- package/third_party/boringssl/src/include/openssl/stack.h +47 -32
- package/third_party/boringssl/src/include/openssl/trust_token.h +18 -3
- package/third_party/boringssl/src/include/openssl/x509.h +18 -0
- package/third_party/boringssl/src/ssl/ssl_file.cc +61 -99
- package/third_party/boringssl/src/ssl/ssl_test.cc +101 -0
- package/third_party/boringssl/src/util/doc.config +2 -1
- package/third_party/boringssl/src/util/fipstools/acvp/acvptool/subprocess/subprocess.go +8 -0
- package/third_party/googleurl/AUTHORS +16 -2
- package/third_party/googleurl/base/BUILD +1 -0
- package/third_party/googleurl/base/compiler_specific.h +16 -17
- package/third_party/googleurl/base/containers/contiguous_iterator.h +13 -9
- package/third_party/googleurl/base/containers/span.h +23 -8
- package/third_party/googleurl/base/memory/raw_ptr.h +17 -25
- package/third_party/googleurl/base/memory/raw_ptr_exclusion.h +21 -0
- package/third_party/googleurl/base/strings/escape.cc +14 -2
- package/third_party/googleurl/base/strings/safe_sprintf.h +1 -1
- package/third_party/googleurl/base/strings/string_number_conversions.cc +5 -3
- package/third_party/googleurl/base/strings/string_number_conversions_internal.h +5 -5
- package/third_party/googleurl/base/strings/string_piece.h +3 -3
- package/third_party/googleurl/base/strings/string_util.cc +4 -27
- package/third_party/googleurl/base/strings/string_util.h +43 -8
- package/third_party/googleurl/base/strings/string_util_internal.h +11 -12
- package/third_party/googleurl/base/strings/string_util_unittest.cc +33 -0
- package/third_party/googleurl/base/strings/string_util_win.cc +0 -5
- package/third_party/googleurl/base/strings/string_util_win.h +9 -1
- package/third_party/googleurl/base/strings/utf_offset_string_conversions.cc +1 -1
- package/third_party/googleurl/base/strings/utf_string_conversion_utils.cc +5 -8
- package/third_party/googleurl/base/strings/utf_string_conversion_utils.h +13 -10
- package/third_party/googleurl/base/strings/utf_string_conversions.cc +32 -25
- package/third_party/googleurl/base/template_util.h +23 -35
- package/third_party/googleurl/build/build_config.h +14 -3
- package/third_party/googleurl/copy.bara.sky +1 -1
- package/third_party/googleurl/url/gurl.cc +8 -4
- package/third_party/googleurl/url/gurl.h +1 -0
- package/third_party/googleurl/url/gurl_unittest.cc +1 -0
- package/third_party/googleurl/url/origin.h +36 -26
- package/third_party/googleurl/url/scheme_host_port.h +4 -1
- package/third_party/googleurl/url/url_canon.h +2 -1
- package/third_party/googleurl/url/url_canon_internal.cc +9 -7
- package/third_party/googleurl/url/url_canon_internal.h +16 -16
- package/third_party/googleurl/url/url_canon_stdstring.h +2 -1
- package/third_party/googleurl/url/url_util.cc +9 -8
- package/third_party/quiche/build/source_list.bzl +7 -0
- package/third_party/quiche/build/source_list.gni +7 -0
- package/third_party/quiche/build/source_list.json +7 -0
- package/third_party/quiche/quiche/common/platform/api/quiche_mem_slice.h +7 -3
- package/third_party/quiche/quiche/http2/adapter/nghttp2_adapter_test.cc +86 -2
- package/third_party/quiche/quiche/http2/adapter/oghttp2_adapter_test.cc +104 -2
- package/third_party/quiche/quiche/http2/adapter/oghttp2_session.cc +23 -0
- package/third_party/quiche/quiche/http2/adapter/oghttp2_session.h +6 -1
- package/third_party/quiche/quiche/quic/core/congestion_control/send_algorithm_test.cc +0 -16
- package/third_party/quiche/quiche/quic/core/crypto/crypto_protocol.h +1 -1
- package/third_party/quiche/quiche/quic/core/http/end_to_end_test.cc +56 -2
- package/third_party/quiche/quiche/quic/core/http/http_constants.cc +1 -0
- package/third_party/quiche/quiche/quic/core/http/http_constants.h +1 -0
- package/third_party/quiche/quiche/quic/core/http/http_encoder.cc +28 -17
- package/third_party/quiche/quiche/quic/core/http/http_encoder.h +5 -0
- package/third_party/quiche/quiche/quic/core/http/http_encoder_test.cc +26 -30
- package/third_party/quiche/quiche/quic/core/http/http_frames.h +1 -0
- package/third_party/quiche/quiche/quic/core/http/quic_server_session_base.cc +4 -4
- package/third_party/quiche/quiche/quic/core/http/quic_server_session_base_test.cc +1 -1
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_client_session.cc +5 -1
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream.cc +6 -33
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream.h +0 -17
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream_test.cc +5 -20
- package/third_party/quiche/quiche/quic/core/io/quic_event_loop.h +81 -0
- package/third_party/quiche/quiche/quic/core/io/quic_poll_event_loop.cc +265 -0
- package/third_party/quiche/quiche/quic/core/io/quic_poll_event_loop.h +152 -0
- package/third_party/quiche/quiche/quic/core/io/quic_poll_event_loop_test.cc +341 -0
- package/third_party/quiche/quiche/quic/core/quic_buffered_packet_store.cc +3 -1
- package/third_party/quiche/quiche/quic/core/quic_buffered_packet_store.h +7 -7
- package/third_party/quiche/quiche/quic/core/quic_buffered_packet_store_test.cc +4 -3
- package/third_party/quiche/quiche/quic/core/quic_connection.cc +69 -19
- package/third_party/quiche/quiche/quic/core/quic_connection.h +9 -3
- package/third_party/quiche/quiche/quic/core/quic_connection_id_manager.cc +29 -10
- package/third_party/quiche/quiche/quic/core/quic_connection_id_manager.h +5 -3
- package/third_party/quiche/quiche/quic/core/quic_connection_id_manager_test.cc +85 -22
- package/third_party/quiche/quiche/quic/core/quic_connection_test.cc +186 -30
- package/third_party/quiche/quiche/quic/core/quic_crypto_stream.cc +2 -1
- package/third_party/quiche/quiche/quic/core/quic_default_clock.cc +31 -0
- package/third_party/quiche/quiche/quic/core/quic_default_clock.h +34 -0
- package/third_party/quiche/quiche/quic/core/quic_default_connection_helper.h +49 -0
- package/third_party/quiche/quiche/quic/core/quic_dispatcher.cc +53 -37
- package/third_party/quiche/quiche/quic/core/quic_dispatcher.h +19 -11
- package/third_party/quiche/quiche/quic/core/quic_dispatcher_test.cc +15 -2
- package/third_party/quiche/quiche/quic/core/quic_flags_list.h +10 -4
- package/third_party/quiche/quiche/quic/core/quic_idle_network_detector.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_idle_network_detector_test.cc +4 -4
- package/third_party/quiche/quiche/quic/core/quic_packet_creator.cc +14 -3
- package/third_party/quiche/quiche/quic/core/quic_packet_creator_test.cc +145 -2
- package/third_party/quiche/quiche/quic/core/quic_packets.cc +3 -1
- package/third_party/quiche/quiche/quic/core/quic_packets.h +4 -0
- package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager.cc +13 -11
- package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager.h +9 -0
- package/third_party/quiche/quiche/quic/core/quic_sent_packet_manager_test.cc +6 -0
- package/third_party/quiche/quiche/quic/core/quic_session.cc +3 -2
- package/third_party/quiche/quiche/quic/core/quic_session.h +8 -3
- package/third_party/quiche/quiche/quic/core/quic_types.cc +18 -0
- package/third_party/quiche/quiche/quic/core/quic_types.h +3 -0
- package/third_party/quiche/quiche/quic/core/tls_chlo_extractor.cc +3 -0
- package/third_party/quiche/quiche/quic/core/tls_chlo_extractor.h +10 -0
- package/third_party/quiche/quiche/quic/test_tools/mock_quic_session_visitor.h +1 -1
- package/third_party/quiche/quiche/quic/test_tools/quic_test_utils.h +1 -1
- package/third_party/quiche/quiche/quic/test_tools/server_thread.cc +3 -2
- package/third_party/quiche/quiche/quic/test_tools/simple_session_notifier.cc +7 -1
- package/third_party/quiche/quiche/quic/test_tools/simple_session_notifier.h +3 -0
- package/third_party/quiche/quiche/quic/test_tools/simulator/quic_endpoint.h +4 -2
- package/certs/ca.cnf +0 -69
- package/certs/generate_certs.sh +0 -53
- package/certs/generate_certs_leaf.sh +0 -53
- package/certs/leaf.cnf +0 -24
- package/certs/readme.txt +0 -2
- package/third_party/quiche/build/BUILD.bazel +0 -7
package/test/testsuite.js
CHANGED
|
@@ -3,273 +3,295 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
5
|
export async function incomingBidirectionalEchoTest(session) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
6
|
+
try {
|
|
7
|
+
const bidiReader = session.incomingBidirectionalStreams.getReader()
|
|
8
|
+
while (true) {
|
|
9
|
+
const bidistr = await bidiReader.read()
|
|
10
|
+
if (bidistr.done) {
|
|
11
|
+
console.log('bidiReader terminated')
|
|
12
|
+
break
|
|
13
|
+
}
|
|
14
|
+
if (bidistr.value) {
|
|
15
|
+
// ok we got a stream
|
|
16
|
+
const bidistream = bidistr.value
|
|
17
|
+
// echo it
|
|
18
|
+
await bidistream.readable.pipeTo(bidistream.writable)
|
|
19
|
+
console.log('bidiReader finished piping')
|
|
21
20
|
}
|
|
22
|
-
} catch (error) {
|
|
23
|
-
console.log('incoming bidiReader exited with', error)
|
|
24
21
|
}
|
|
22
|
+
} catch (error) {
|
|
23
|
+
console.log('incoming bidiReader exited with', error)
|
|
25
24
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export async function outgoingBidirectionalEchoTest(session) {
|
|
28
|
+
try {
|
|
29
|
+
const mybidistream = await session.createBidirectionalStream()
|
|
30
|
+
await mybidistream.readable.pipeTo(mybidistream.writable)
|
|
31
|
+
} catch (error) {
|
|
32
|
+
console.log('outgoing bidiReader exited with', error)
|
|
35
33
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export async function unidirectionalEchoTest(session) {
|
|
37
|
+
try {
|
|
38
|
+
const unidiReader = session.incomingUnidirectionalStreams.getReader()
|
|
39
|
+
while (true) {
|
|
40
|
+
const unidistr = await unidiReader.read()
|
|
41
|
+
if (unidistr.done) {
|
|
42
|
+
console.log('unidiReader terminated')
|
|
43
|
+
break
|
|
44
|
+
}
|
|
45
|
+
if (unidistr.value) {
|
|
46
|
+
// ok we got a stream
|
|
47
|
+
const unidistream = unidistr.value
|
|
48
|
+
// echo it
|
|
49
|
+
const uniwritable = await session.createUnidirectionalStream()
|
|
50
|
+
await unidistream.pipeTo(uniwritable)
|
|
51
|
+
console.log('unidiReader finished piping')
|
|
54
52
|
}
|
|
55
|
-
} catch (error) {
|
|
56
|
-
console.log('unidiReader exited with', error)
|
|
57
53
|
}
|
|
54
|
+
} catch (error) {
|
|
55
|
+
console.log('unidiReader exited with', error)
|
|
58
56
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export async function datagramEchoTest(session) {
|
|
60
|
+
try {
|
|
61
|
+
session.datagrams.readable.pipeTo(session.datagrams.writable)
|
|
62
|
+
} catch (error) {
|
|
63
|
+
console.log('datagram echo exited with', error)
|
|
66
64
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export async function runEchoServer(server) {
|
|
68
|
+
try {
|
|
69
|
+
const sessionStream = await server.sessionStream('/echo')
|
|
70
|
+
const sessionReader = sessionStream.getReader()
|
|
71
|
+
while (true) {
|
|
72
|
+
const { done, value } = await sessionReader.read()
|
|
73
|
+
if (done) {
|
|
74
|
+
console.log('Server is gone')
|
|
75
|
+
break
|
|
76
|
+
}
|
|
77
|
+
console.log('got a newsession')
|
|
78
|
+
await value.ready
|
|
79
|
+
console.log('server session is ready')
|
|
80
|
+
const helpfunc = async () => {
|
|
81
|
+
try {
|
|
82
|
+
const err = await value.closed
|
|
83
|
+
console.log('server session was closed', err)
|
|
84
|
+
} catch (error) {
|
|
85
|
+
console.log('server session close error:', error)
|
|
88
86
|
}
|
|
89
|
-
helpfunc()
|
|
90
|
-
// install BidirectionalEchoTest
|
|
91
|
-
incomingBidirectionalEchoTest(value)
|
|
92
|
-
// now send a bidirectional stream out
|
|
93
|
-
outgoingBidirectionalEchoTest(value)
|
|
94
|
-
unidirectionalEchoTest(value)
|
|
95
|
-
console.log('install datagram echo')
|
|
96
|
-
datagramEchoTest(value)
|
|
97
87
|
}
|
|
98
|
-
|
|
99
|
-
|
|
88
|
+
helpfunc()
|
|
89
|
+
// install BidirectionalEchoTest
|
|
90
|
+
incomingBidirectionalEchoTest(value)
|
|
91
|
+
// now send a bidirectional stream out
|
|
92
|
+
outgoingBidirectionalEchoTest(value)
|
|
93
|
+
unidirectionalEchoTest(value)
|
|
94
|
+
console.log('install datagram echo')
|
|
95
|
+
datagramEchoTest(value)
|
|
100
96
|
}
|
|
97
|
+
} catch (error) {
|
|
98
|
+
console.log('problem in runEchoServer', error)
|
|
101
99
|
}
|
|
100
|
+
}
|
|
102
101
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
102
|
+
function testArraysEqual(array1, array2) {
|
|
103
|
+
if (array1.length !== array2.length)
|
|
104
|
+
throw new Error('Array not equal in length')
|
|
105
|
+
for (let i = 0; i < array1.length; i++) {
|
|
106
|
+
if (array1[i] !== array2[i]) throw new Error('Array not equal in value')
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export async function echoTestsConnection(transport) {
|
|
111
|
+
// some echo tests for testing the webtransport library, not for production
|
|
112
|
+
const stream = await transport.createBidirectionalStream()
|
|
113
|
+
const writer = stream.writable.getWriter()
|
|
114
|
+
const data1 = new Uint8Array([65, 66, 67])
|
|
115
|
+
const data2 = new Uint8Array([68, 69, 70])
|
|
116
|
+
writer.write(data1)
|
|
117
|
+
writer.write(data2)
|
|
118
|
+
const reader = stream.readable.getReader()
|
|
119
|
+
let i = data1.length + data2.length
|
|
120
|
+
let pos = 0
|
|
121
|
+
const refArray1 = new Uint8Array(i)
|
|
122
|
+
refArray1.set(data1)
|
|
123
|
+
refArray1.set(data2, data1.length)
|
|
124
|
+
|
|
125
|
+
const resultArray1 = new Uint8Array(i)
|
|
126
|
+
|
|
127
|
+
while (true && i > 0) {
|
|
128
|
+
const { done, value } = await reader.read()
|
|
129
|
+
if (done) {
|
|
130
|
+
break
|
|
131
|
+
}
|
|
132
|
+
// value is a Uint8Array
|
|
133
|
+
console.log('incoming bidi stream', value)
|
|
134
|
+
resultArray1.set(value, pos)
|
|
135
|
+
i -= value.length
|
|
136
|
+
pos += value.length
|
|
137
|
+
}
|
|
138
|
+
console.log('all bidi received, next close writer')
|
|
139
|
+
try {
|
|
140
|
+
await writer.close()
|
|
141
|
+
console.log('All data has been sent.')
|
|
142
|
+
} catch (error) {
|
|
143
|
+
console.error(`An error occurred: ${error}`)
|
|
144
|
+
throw new Error('outgoing bidi stream test failed')
|
|
145
|
+
}
|
|
146
|
+
console.log('next close reader')
|
|
147
|
+
try {
|
|
148
|
+
await reader.cancel(0)
|
|
149
|
+
console.log('All data has been read.')
|
|
150
|
+
} catch (error) {
|
|
151
|
+
console.error(`An error occurred: ${error}`)
|
|
152
|
+
throw new Error('outgoing bidi stream test failed')
|
|
110
153
|
}
|
|
154
|
+
testArraysEqual(refArray1, resultArray1)
|
|
111
155
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
const
|
|
121
|
-
|
|
156
|
+
console.log('webtransport sending bidistream success')
|
|
157
|
+
const bidiReader = transport.incomingBidirectionalStreams.getReader()
|
|
158
|
+
const incombidi = await bidiReader.read()
|
|
159
|
+
if (incombidi.value) {
|
|
160
|
+
const bidistream = incombidi.value
|
|
161
|
+
console.log('got a bidistream')
|
|
162
|
+
const write = bidistream.writable.getWriter()
|
|
163
|
+
const data3 = new Uint8Array([71, 72, 73])
|
|
164
|
+
const data4 = new Uint8Array([74, 75, 76])
|
|
165
|
+
write.write(data3)
|
|
166
|
+
write.write(data4)
|
|
167
|
+
|
|
168
|
+
const readbd = bidistream.readable.getReader()
|
|
169
|
+
let i = data3.length + data4.length
|
|
122
170
|
let pos = 0
|
|
123
|
-
const refArray1 = new Uint8Array(i);
|
|
124
|
-
refArray1.set(data1);
|
|
125
|
-
refArray1.set(data2, data1.length);
|
|
126
171
|
|
|
127
|
-
const
|
|
172
|
+
const refArray2 = new Uint8Array(i)
|
|
173
|
+
refArray2.set(data3)
|
|
174
|
+
refArray2.set(data4, data3.length)
|
|
128
175
|
|
|
176
|
+
const resultArray2 = new Uint8Array(i)
|
|
129
177
|
while (true && i > 0) {
|
|
130
|
-
const { done, value } = await
|
|
178
|
+
const { done, value } = await readbd.read()
|
|
131
179
|
if (done) {
|
|
132
180
|
break
|
|
133
181
|
}
|
|
134
182
|
// value is a Uint8Array
|
|
135
|
-
console.log('
|
|
136
|
-
|
|
183
|
+
console.log('incom bd', value)
|
|
184
|
+
resultArray2.set(value, pos)
|
|
137
185
|
i -= value.length
|
|
138
186
|
pos += value.length
|
|
139
187
|
}
|
|
140
|
-
console.log('all bidi received, next close writer')
|
|
141
188
|
try {
|
|
142
|
-
await
|
|
143
|
-
console.log('All data has been sent.')
|
|
189
|
+
await write.close()
|
|
190
|
+
console.log('All data has been sent for incoming bidi stream.')
|
|
144
191
|
} catch (error) {
|
|
145
192
|
console.error(`An error occurred: ${error}`)
|
|
146
|
-
throw new Error('
|
|
193
|
+
throw new Error('incoming bidi stream test failed')
|
|
147
194
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
const bidistream = incombidi.value
|
|
155
|
-
console.log('got a bidistream')
|
|
156
|
-
const write = bidistream.writable.getWriter()
|
|
157
|
-
const data3 = new Uint8Array([71, 72, 73])
|
|
158
|
-
const data4 = new Uint8Array([74, 75, 76])
|
|
159
|
-
write.write(data3)
|
|
160
|
-
write.write(data4)
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
const readbd = bidistream.readable.getReader()
|
|
165
|
-
let i = data3.length + data4.length
|
|
166
|
-
let pos = 0
|
|
167
|
-
|
|
168
|
-
const refArray2 = new Uint8Array(i);
|
|
169
|
-
refArray2.set(data3);
|
|
170
|
-
refArray2.set(data4, data3.length);
|
|
171
|
-
|
|
172
|
-
const resultArray2 = new Uint8Array(i);
|
|
173
|
-
while (true && i > 0) {
|
|
174
|
-
const { done, value } = await readbd.read()
|
|
175
|
-
if (done) {
|
|
176
|
-
break
|
|
177
|
-
}
|
|
178
|
-
// value is a Uint8Array
|
|
179
|
-
console.log('incom bd', value)
|
|
180
|
-
resultArray2.set(value, pos)
|
|
181
|
-
i -= value.length
|
|
182
|
-
pos += value.length
|
|
183
|
-
}
|
|
184
|
-
try {
|
|
185
|
-
await write.close()
|
|
186
|
-
console.log('All data has been sent for incoming bidi stream.')
|
|
187
|
-
} catch (error) {
|
|
188
|
-
console.error(`An error occurred: ${error}`)
|
|
189
|
-
throw new Error('incoming bidi stream test failed')
|
|
190
|
-
}
|
|
191
|
-
testArraysEqual(refArray2, resultArray2)
|
|
195
|
+
try {
|
|
196
|
+
await readbd.cancel(0)
|
|
197
|
+
console.log('All data has been read for incoming bidi stream.')
|
|
198
|
+
} catch (error) {
|
|
199
|
+
console.error(`An error occurred: ${error}`)
|
|
200
|
+
throw new Error('outgoing bidi stream test failed')
|
|
192
201
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
const unidioutstream = await transport.createUnidirectionalStream()
|
|
196
|
-
const unidiwrite = unidioutstream.getWriter()
|
|
197
|
-
const data5 = new Uint8Array([77, 78, 79])
|
|
198
|
-
const data6 = new Uint8Array([80, 81, 82])
|
|
199
|
-
unidiwrite.write(data5)
|
|
200
|
-
unidiwrite.write(data6)
|
|
201
|
-
const unidiReader = transport.incomingUnidirectionalStreams.getReader()
|
|
202
|
-
const incomunidi = await unidiReader.read()
|
|
203
|
-
|
|
204
|
-
i = data5.length + data6.length
|
|
205
|
-
|
|
206
|
-
const refArray3 = new Uint8Array(i);
|
|
207
|
-
refArray3.set(data5);
|
|
208
|
-
refArray3.set(data6, data5.length);
|
|
202
|
+
testArraysEqual(refArray2, resultArray2)
|
|
203
|
+
}
|
|
209
204
|
|
|
205
|
+
console.log('now unidirectional tests')
|
|
206
|
+
const unidioutstream = await transport.createUnidirectionalStream()
|
|
207
|
+
const unidiwrite = unidioutstream.getWriter()
|
|
208
|
+
const data5 = new Uint8Array([77, 78, 79])
|
|
209
|
+
const data6 = new Uint8Array([80, 81, 82])
|
|
210
|
+
unidiwrite.write(data5)
|
|
211
|
+
unidiwrite.write(data6)
|
|
212
|
+
const unidiReader = transport.incomingUnidirectionalStreams.getReader()
|
|
213
|
+
const incomunidi = await unidiReader.read()
|
|
210
214
|
|
|
211
|
-
|
|
212
|
-
const unidistream = incomunidi.value
|
|
213
|
-
console.log('got a unidistream')
|
|
214
|
-
const readud = unidistream.getReader()
|
|
215
|
-
let pos = 0
|
|
215
|
+
i = data5.length + data6.length
|
|
216
216
|
|
|
217
|
-
|
|
217
|
+
const refArray3 = new Uint8Array(i)
|
|
218
|
+
refArray3.set(data5)
|
|
219
|
+
refArray3.set(data6, data5.length)
|
|
218
220
|
|
|
219
|
-
|
|
220
|
-
const { done, value } = await readud.read()
|
|
221
|
-
if (done) {
|
|
222
|
-
break
|
|
223
|
-
}
|
|
224
|
-
// value is a Uint8Array
|
|
225
|
-
console.log('incom ud', value)
|
|
226
|
-
resultArray3.set(value, pos)
|
|
227
|
-
i -= value.length
|
|
228
|
-
pos += value.length
|
|
229
|
-
}
|
|
230
|
-
testArraysEqual(refArray3, resultArray3)
|
|
231
|
-
}
|
|
232
|
-
try {
|
|
233
|
-
await unidiwrite.close()
|
|
234
|
-
console.log('All data has been sent for incoming unidi stream.')
|
|
235
|
-
} catch (error) {
|
|
236
|
-
console.error(`An error occurred: ${error}`)
|
|
237
|
-
throw new Error('incoming unidi stream test failed')
|
|
238
|
-
}
|
|
239
|
-
console.log('finally test datagrams')
|
|
240
|
-
const datawrite = await transport.datagrams.writable.getWriter()
|
|
241
|
-
const data7 = new Uint8Array([83, 84, 85])
|
|
242
|
-
const data8 = new Uint8Array([86, 87, 88])
|
|
221
|
+
let readud
|
|
243
222
|
|
|
244
|
-
|
|
245
|
-
const
|
|
246
|
-
|
|
247
|
-
|
|
223
|
+
if (incomunidi.value) {
|
|
224
|
+
const unidistream = incomunidi.value
|
|
225
|
+
console.log('got a unidistream')
|
|
226
|
+
readud = unidistream.getReader()
|
|
227
|
+
let pos = 0
|
|
248
228
|
|
|
249
|
-
|
|
250
|
-
datawrite.write(data8)
|
|
251
|
-
const readdg = await transport.datagrams.readable.getReader()
|
|
252
|
-
pos = 0
|
|
253
|
-
const resultArray4 = new Uint8Array(i);
|
|
229
|
+
const resultArray3 = new Uint8Array(i)
|
|
254
230
|
|
|
255
231
|
while (true && i > 0) {
|
|
256
|
-
const { done, value } = await
|
|
232
|
+
const { done, value } = await readud.read()
|
|
257
233
|
if (done) {
|
|
258
234
|
break
|
|
259
235
|
}
|
|
260
236
|
// value is a Uint8Array
|
|
261
|
-
console.log('incom
|
|
262
|
-
|
|
237
|
+
console.log('incom ud', value)
|
|
238
|
+
resultArray3.set(value, pos)
|
|
263
239
|
i -= value.length
|
|
264
240
|
pos += value.length
|
|
265
241
|
}
|
|
266
|
-
testArraysEqual(
|
|
242
|
+
testArraysEqual(refArray3, resultArray3)
|
|
243
|
+
}
|
|
244
|
+
try {
|
|
245
|
+
await unidiwrite.close()
|
|
246
|
+
console.log('All data has been sent for incoming unidi stream.')
|
|
247
|
+
} catch (error) {
|
|
248
|
+
console.error(`An error occurred: ${error}`)
|
|
249
|
+
throw new Error('incoming unidi stream test failed')
|
|
250
|
+
}
|
|
251
|
+
if (readud) {
|
|
267
252
|
try {
|
|
268
|
-
await
|
|
269
|
-
console.log('All data has been
|
|
253
|
+
await readud.cancel(0)
|
|
254
|
+
console.log('All data has been read for incoming unidi stream.')
|
|
270
255
|
} catch (error) {
|
|
271
256
|
console.error(`An error occurred: ${error}`)
|
|
272
|
-
throw new Error('
|
|
257
|
+
throw new Error('incoming unidi stream test failed')
|
|
273
258
|
}
|
|
274
|
-
|
|
275
|
-
|
|
259
|
+
}
|
|
260
|
+
console.log('finally test datagrams')
|
|
261
|
+
const datawrite = await transport.datagrams.writable.getWriter()
|
|
262
|
+
const data7 = new Uint8Array([83, 84, 85])
|
|
263
|
+
const data8 = new Uint8Array([86, 87, 88])
|
|
264
|
+
|
|
265
|
+
i = data7.length + data8.length
|
|
266
|
+
const refArray4 = new Uint8Array(i)
|
|
267
|
+
refArray4.set(data7)
|
|
268
|
+
refArray4.set(data8, data7.length)
|
|
269
|
+
|
|
270
|
+
datawrite.write(data7)
|
|
271
|
+
datawrite.write(data8)
|
|
272
|
+
const readdg = await transport.datagrams.readable.getReader()
|
|
273
|
+
pos = 0
|
|
274
|
+
const resultArray4 = new Uint8Array(i)
|
|
275
|
+
|
|
276
|
+
while (true && i > 0) {
|
|
277
|
+
const { done, value } = await readdg.read()
|
|
278
|
+
if (done) {
|
|
279
|
+
break
|
|
280
|
+
}
|
|
281
|
+
// value is a Uint8Array
|
|
282
|
+
console.log('incom dg', value)
|
|
283
|
+
resultArray4.set(value, pos)
|
|
284
|
+
i -= value.length
|
|
285
|
+
pos += value.length
|
|
286
|
+
}
|
|
287
|
+
testArraysEqual(refArray4, resultArray4)
|
|
288
|
+
try {
|
|
289
|
+
await datawrite.close()
|
|
290
|
+
console.log('All data has been sent for datagram stream.')
|
|
291
|
+
} catch (error) {
|
|
292
|
+
console.error(`An error occurred: ${error}`)
|
|
293
|
+
throw new Error('datagram stream test failed')
|
|
294
|
+
}
|
|
295
|
+
console.log('test datagrams finished')
|
|
296
|
+
console.log('start close stream tests')
|
|
297
|
+
}
|
|
@@ -494,6 +494,8 @@ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "mips")
|
|
|
494
494
|
set(ARCH "generic")
|
|
495
495
|
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
|
|
496
496
|
set(ARCH "ppc64le")
|
|
497
|
+
elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "riscv64")
|
|
498
|
+
set(ARCH "riscv64")
|
|
497
499
|
else()
|
|
498
500
|
message(FATAL_ERROR "Unknown processor:" ${CMAKE_SYSTEM_PROCESSOR})
|
|
499
501
|
endif()
|