@fails-components/webtransport 0.0.1-rc.0 → 0.0.1-rc.1
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/.github/workflows/npm-publish-packages.yml +0 -0
- package/CMakeLists.txt +2 -0
- package/package.json +1 -1
- package/readme.md +0 -0
- package/src/http3serversession.h +1 -1
- package/src/webtransport.js +4 -2
- package/third_party/boringssl/src/CMakeLists.txt +9 -12
- package/third_party/boringssl/src/crypto/CMakeLists.txt +2 -3
- package/third_party/boringssl/src/crypto/asn1/time_support.c +206 -206
- package/third_party/boringssl/src/crypto/bio/socket_helper.c +124 -122
- package/third_party/boringssl/src/crypto/evp/digestsign.c +268 -231
- package/third_party/boringssl/src/crypto/evp/p_ec.c +286 -286
- package/third_party/boringssl/src/crypto/fipsmodule/aes/key_wrap.c +246 -236
- package/third_party/boringssl/src/crypto/fipsmodule/aes/mode_wrappers.c +124 -122
- package/third_party/boringssl/src/crypto/fipsmodule/bcm.c +3 -0
- package/third_party/boringssl/src/crypto/fipsmodule/bn/bytes.c +246 -230
- package/third_party/boringssl/src/crypto/fipsmodule/bn/internal.h +734 -715
- package/third_party/boringssl/src/crypto/fipsmodule/bn/random.c +349 -341
- package/third_party/boringssl/src/crypto/fipsmodule/cipher/cipher.c +670 -648
- package/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c +1504 -1472
- package/third_party/boringssl/src/crypto/{cipher_extra → fipsmodule/cipher}/e_aesccm.c +435 -446
- package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_3des_cmac_tests.txt +0 -0
- package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_aes128_cmac_tests.txt +0 -0
- package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_aes192_cmac_tests.txt +0 -0
- package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_aes256_cmac_tests.txt +0 -0
- package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cmac.c +318 -278
- package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cmac_test.cc +268 -267
- package/third_party/boringssl/src/crypto/fipsmodule/dh/dh.c +5 -1
- package/third_party/boringssl/src/crypto/fipsmodule/ec/ec.c +11 -17
- package/third_party/boringssl/src/crypto/fipsmodule/ec/ec_key.c +15 -4
- package/third_party/boringssl/src/crypto/fipsmodule/ec/internal.h +2 -6
- package/third_party/boringssl/src/crypto/fipsmodule/ec/p224-64.c +1164 -1180
- package/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz.c +3 -3
- package/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz_test.cc +2 -2
- package/third_party/boringssl/src/crypto/fipsmodule/ec/p256.c +44 -33
- package/third_party/boringssl/src/crypto/fipsmodule/ec/scalar.c +169 -175
- package/third_party/boringssl/src/crypto/fipsmodule/ec/simple.c +352 -357
- package/third_party/boringssl/src/crypto/fipsmodule/ecdh/ecdh.c +4 -0
- package/third_party/boringssl/src/crypto/fipsmodule/ecdsa/ecdsa.c +14 -9
- package/third_party/boringssl/src/crypto/fipsmodule/hmac/hmac.c +256 -235
- package/third_party/boringssl/src/crypto/fipsmodule/rand/ctrdrbg.c +204 -202
- package/third_party/boringssl/src/crypto/fipsmodule/rsa/padding.c +702 -695
- package/third_party/boringssl/src/crypto/fipsmodule/rsa/rsa_impl.c +7 -2
- package/third_party/boringssl/src/crypto/fipsmodule/self_check/self_check.c +7 -0
- package/third_party/boringssl/src/crypto/fipsmodule/service_indicator/internal.h +89 -0
- package/third_party/boringssl/src/crypto/fipsmodule/service_indicator/service_indicator.c +333 -0
- package/third_party/boringssl/src/crypto/fipsmodule/service_indicator/service_indicator_test.cc +2410 -0
- package/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c +359 -357
- package/third_party/boringssl/src/crypto/fipsmodule/sha/sha256.c +325 -321
- package/third_party/boringssl/src/crypto/fipsmodule/sha/sha512.c +510 -508
- package/third_party/boringssl/src/crypto/fipsmodule/tls/kdf.c +177 -165
- package/third_party/boringssl/src/crypto/internal.h +13 -0
- package/third_party/boringssl/src/crypto/trust_token/trust_token_test.cc +884 -884
- package/third_party/boringssl/src/crypto/x509/internal.h +0 -2
- package/third_party/boringssl/src/crypto/x509/t_crl.c +148 -148
- package/third_party/boringssl/src/crypto/x509/t_req.c +249 -250
- package/third_party/boringssl/src/crypto/x509/t_x509.c +2 -3
- package/third_party/boringssl/src/crypto/x509/x509_req.c +262 -304
- package/third_party/boringssl/src/crypto/x509/x509_set.c +250 -240
- package/third_party/boringssl/src/crypto/x509/x509_test.cc +466 -4
- package/third_party/boringssl/src/crypto/x509/x509cset.c +292 -279
- package/third_party/boringssl/src/crypto/x509/x509rset.c +89 -86
- package/third_party/boringssl/src/crypto/x509/x_crl.c +37 -125
- package/third_party/boringssl/src/crypto/x509/x_req.c +114 -109
- package/third_party/boringssl/src/crypto/x509/x_x509.c +394 -394
- package/third_party/boringssl/src/crypto/x509v3/v3_akey.c +11 -16
- package/third_party/boringssl/src/crypto/x509v3/v3_alt.c +644 -642
- package/third_party/boringssl/src/crypto/x509v3/v3_bcons.c +130 -133
- package/third_party/boringssl/src/crypto/x509v3/v3_bitst.c +149 -144
- package/third_party/boringssl/src/crypto/x509v3/v3_cpols.c +496 -500
- package/third_party/boringssl/src/crypto/x509v3/v3_enum.c +105 -106
- package/third_party/boringssl/src/crypto/x509v3/v3_ia5.c +126 -121
- package/third_party/boringssl/src/crypto/x509v3/v3_info.c +206 -218
- package/third_party/boringssl/src/crypto/x509v3/v3_int.c +97 -91
- package/third_party/boringssl/src/crypto/x509v3/v3_pci.c +290 -289
- package/third_party/boringssl/src/crypto/x509v3/v3_skey.c +161 -156
- package/third_party/boringssl/src/crypto/x509v3/v3_utl.c +5 -3
- package/third_party/boringssl/src/include/openssl/aead.h +480 -480
- package/third_party/boringssl/src/include/openssl/asn1.h +2 -0
- package/third_party/boringssl/src/include/openssl/base.h +1 -1
- package/third_party/boringssl/src/include/openssl/service_indicator.h +96 -0
- package/third_party/boringssl/src/include/openssl/ssl.h +7 -0
- package/third_party/boringssl/src/include/openssl/x509.h +11 -33
- package/third_party/boringssl/src/include/openssl/x509v3.h +990 -1018
- package/third_party/boringssl/src/sources.cmake +4 -4
- package/third_party/boringssl/src/ssl/internal.h +10 -0
- package/third_party/boringssl/src/ssl/ssl_lib.cc +3081 -3072
- package/third_party/boringssl/src/ssl/ssl_test.cc +46 -0
- package/third_party/boringssl/src/ssl/tls13_server.cc +4 -6
- package/third_party/boringssl/src/util/bot/DEPS +14 -27
- package/third_party/boringssl/src/util/bot/UPDATING +3 -9
- package/third_party/boringssl/src/util/bot/update_clang.py +172 -172
- package/third_party/boringssl/src/util/bot/vs_toolchain.py +3 -3
- package/third_party/quiche/.bazelrc +8 -0
- package/third_party/quiche/BUILD.bazel +7 -0
- package/third_party/quiche/WHITESPACE +3 -1
- package/third_party/quiche/WORKSPACE.bazel +87 -0
- package/third_party/quiche/build/BUILD.bazel +7 -0
- package/third_party/quiche/build/source_list.bzl +1511 -0
- package/third_party/quiche/build/source_list.gni +1511 -0
- package/third_party/quiche/build/source_list.json +1511 -0
- package/third_party/quiche/build/test.bzl +26 -0
- package/third_party/quiche/build/zlib.BUILD +25 -0
- package/third_party/quiche/quiche/BUILD.bazel +270 -0
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_enums.cc +3 -3
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_enums.h +7 -7
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_frame.cc +39 -18
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_frame.h +11 -10
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_frame_test.cc +67 -63
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_headers.cc +13 -12
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_headers.h +16 -8
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_headers_test.cc +9 -9
- package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_visitor_interface.h +4 -4
- package/third_party/quiche/quiche/{common/balsa → balsa}/framer_interface.h +3 -3
- package/third_party/quiche/quiche/{common/balsa → balsa}/header_api.h +3 -3
- package/third_party/quiche/quiche/{common/balsa → balsa}/header_properties.cc +1 -1
- package/third_party/quiche/quiche/{common/balsa → balsa}/header_properties.h +3 -3
- package/third_party/quiche/quiche/{common/balsa → balsa}/header_properties_test.cc +1 -1
- package/third_party/quiche/quiche/{common/balsa → balsa}/http_validation_policy.cc +1 -1
- package/third_party/quiche/quiche/{common/balsa → balsa}/http_validation_policy.h +3 -3
- package/third_party/quiche/quiche/{common/balsa → balsa}/noop_balsa_visitor.h +4 -4
- package/third_party/quiche/quiche/{common/balsa → balsa}/simple_buffer.cc +22 -29
- package/third_party/quiche/quiche/{common/balsa → balsa}/simple_buffer.h +18 -16
- package/third_party/quiche/quiche/{common/balsa → balsa}/simple_buffer_test.cc +79 -32
- package/third_party/quiche/quiche/{common/balsa → balsa}/standard_header_map.cc +1 -1
- package/third_party/quiche/quiche/{common/balsa → balsa}/standard_header_map.h +3 -3
- package/third_party/quiche/quiche/common/platform/api/quiche_command_line_flags.h +6 -1
- package/third_party/quiche/quiche/common/platform/api/quiche_flags.h +8 -0
- package/third_party/quiche/quiche/common/platform/api/quiche_logging.h +0 -3
- package/third_party/quiche/quiche/common/platform/api/quiche_lower_case_string_test.cc +29 -0
- package/third_party/quiche/quiche/common/platform/api/quiche_test.h +5 -7
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quic_flags_impl.h +1 -1
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_bug_tracker_impl.h +3 -2
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_command_line_flags_impl.cc +41 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_command_line_flags_impl.h +33 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_expect_bug_impl.h +15 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h +84 -50
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_lower_case_string_impl.h +25 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_stack_trace_impl.cc +1 -1
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.cc +25 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.h +56 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_output_impl.h +27 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_thread_impl.h +26 -0
- package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_url_utils_impl.cc +1 -0
- package/third_party/quiche/quiche/common/quiche_buffer_allocator_test.cc +1 -1
- package/third_party/quiche/quiche/common/quiche_mem_slice_storage.h +2 -3
- package/third_party/quiche/quiche/common/structured_headers.cc +14 -12
- package/third_party/quiche/quiche/http2/adapter/event_forwarder.cc +7 -5
- package/third_party/quiche/quiche/http2/adapter/event_forwarder.h +4 -2
- package/third_party/quiche/quiche/http2/adapter/event_forwarder_test.cc +14 -9
- package/third_party/quiche/quiche/http2/adapter/header_validator.cc +43 -19
- package/third_party/quiche/quiche/http2/adapter/header_validator.h +11 -40
- package/third_party/quiche/quiche/http2/adapter/header_validator_base.h +69 -0
- package/third_party/quiche/quiche/http2/adapter/header_validator_test.cc +73 -1
- package/third_party/quiche/quiche/http2/adapter/nghttp2_adapter_test.cc +66 -0
- package/third_party/quiche/quiche/http2/adapter/nghttp2_session_test.cc +8 -5
- package/third_party/quiche/quiche/http2/adapter/nghttp2_test.cc +1 -1
- package/third_party/quiche/quiche/http2/adapter/noop_header_validator.cc +22 -0
- package/third_party/quiche/quiche/http2/adapter/noop_header_validator.h +25 -0
- package/third_party/quiche/quiche/http2/adapter/noop_header_validator_test.cc +523 -0
- package/third_party/quiche/quiche/http2/adapter/oghttp2_adapter_test.cc +186 -5
- package/third_party/quiche/quiche/http2/adapter/oghttp2_session.cc +37 -43
- package/third_party/quiche/quiche/http2/adapter/oghttp2_session.h +22 -23
- package/third_party/quiche/quiche/http2/adapter/test_utils.cc +1 -1
- package/third_party/quiche/quiche/http2/adapter/window_manager_test.cc +11 -5
- package/third_party/quiche/quiche/http2/core/http2_trace_logging.cc +13 -11
- package/third_party/quiche/quiche/http2/core/http2_trace_logging.h +5 -4
- package/third_party/quiche/quiche/http2/core/priority_write_scheduler.h +42 -36
- package/third_party/quiche/quiche/http2/core/priority_write_scheduler_test.cc +2 -2
- package/third_party/quiche/quiche/http2/decoder/decode_buffer_test.cc +9 -9
- package/third_party/quiche/quiche/http2/decoder/decode_http2_structures_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/http2_frame_decoder_test.cc +14 -14
- package/third_party/quiche/quiche/http2/decoder/http2_structure_decoder_test.cc +17 -17
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/altsvc_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/continuation_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/data_payload_decoder_test.cc +2 -2
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/goaway_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/headers_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/ping_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/priority_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/priority_update_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/push_promise_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/rst_stream_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/settings_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/unknown_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/decoder/payload_decoders/window_update_payload_decoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_block_decoder_test.cc +2 -2
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc +8 -8
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_string_buffer_test.cc +4 -3
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_tables_test.cc +17 -17
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_test.cc +25 -25
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_entry_decoder_test.cc +2 -2
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_entry_type_decoder_test.cc +7 -6
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_string_decoder_test.cc +6 -6
- package/third_party/quiche/quiche/http2/hpack/decoder/hpack_whole_entry_buffer_test.cc +1 -1
- package/third_party/quiche/quiche/http2/hpack/huffman/hpack_huffman_decoder_test.cc +2 -2
- package/third_party/quiche/quiche/http2/hpack/huffman/hpack_huffman_encoder_test.cc +1 -1
- package/third_party/quiche/quiche/http2/hpack/huffman/hpack_huffman_transcoder_test.cc +5 -5
- package/third_party/quiche/quiche/http2/hpack/varint/hpack_varint_decoder_test.cc +4 -4
- package/third_party/quiche/quiche/http2/hpack/varint/hpack_varint_round_trip_test.cc +1 -1
- package/third_party/quiche/quiche/http2/http2_constants_test.cc +1 -1
- package/third_party/quiche/quiche/http2/http2_structures_test.cc +23 -22
- package/third_party/quiche/quiche/http2/test_tools/frame_decoder_state_test_util.cc +1 -1
- package/third_party/quiche/quiche/http2/test_tools/frame_decoder_state_test_util.h +1 -1
- package/third_party/quiche/quiche/http2/test_tools/frame_parts.cc +38 -38
- package/third_party/quiche/quiche/http2/test_tools/hpack_block_collector.cc +15 -15
- package/third_party/quiche/quiche/http2/test_tools/hpack_entry_collector.cc +24 -22
- package/third_party/quiche/quiche/http2/test_tools/hpack_string_collector.cc +5 -5
- package/third_party/quiche/quiche/http2/test_tools/http2_frame_builder_test.cc +70 -89
- package/third_party/quiche/quiche/http2/test_tools/payload_decoder_base_test_util.cc +1 -1
- package/third_party/quiche/quiche/http2/test_tools/payload_decoder_base_test_util.h +29 -26
- package/third_party/quiche/quiche/http2/test_tools/{random_decoder_test.cc → random_decoder_test_base.cc} +13 -10
- package/third_party/quiche/quiche/http2/test_tools/{random_decoder_test.h → random_decoder_test_base.h} +15 -17
- package/third_party/quiche/quiche/http2/test_tools/{random_decoder_test_test.cc → random_decoder_test_base_test.cc} +1 -1
- package/third_party/quiche/quiche/http2/test_tools/verify_macros.h +32 -0
- package/third_party/quiche/quiche/quic/core/congestion_control/bbr2_sender.cc +2 -1
- package/third_party/quiche/quiche/quic/core/congestion_control/bbr2_simulator_test.cc +3 -2
- package/third_party/quiche/quiche/quic/core/congestion_control/bbr_sender_test.cc +3 -2
- package/third_party/quiche/quiche/quic/core/congestion_control/rtt_stats.cc +3 -2
- package/third_party/quiche/quiche/quic/core/congestion_control/rtt_stats.h +2 -1
- package/third_party/quiche/quiche/quic/core/congestion_control/rtt_stats_test.cc +2 -13
- package/third_party/quiche/quiche/quic/core/crypto/certificate_view.cc +15 -0
- package/third_party/quiche/quiche/quic/core/crypto/certificate_view.h +7 -0
- package/third_party/quiche/quiche/quic/core/crypto/certificate_view_test.cc +16 -0
- package/third_party/quiche/quiche/quic/core/crypto/crypto_protocol.h +1 -0
- package/third_party/quiche/quiche/quic/core/crypto/proof_source.h +2 -2
- package/third_party/quiche/quiche/quic/core/crypto/proof_source_x509.cc +3 -5
- package/third_party/quiche/quiche/quic/core/crypto/proof_source_x509.h +1 -2
- package/third_party/quiche/quiche/quic/core/crypto/quic_crypto_server_config.cc +1 -1
- package/third_party/quiche/quiche/quic/core/crypto/quic_crypto_server_config.h +3 -3
- package/third_party/quiche/quiche/quic/core/frames/quic_blocked_frame.cc +2 -8
- package/third_party/quiche/quiche/quic/core/frames/quic_blocked_frame.h +0 -1
- package/third_party/quiche/quiche/quic/core/frames/quic_crypto_frame.h +2 -0
- package/third_party/quiche/quiche/quic/core/frames/quic_frames_test.cc +2 -1
- package/third_party/quiche/quiche/quic/core/http/capsule.cc +2 -22
- package/third_party/quiche/quiche/quic/core/http/capsule.h +0 -2
- package/third_party/quiche/quiche/quic/core/http/capsule_test.cc +1 -2
- package/third_party/quiche/quiche/quic/core/http/end_to_end_test.cc +148 -57
- package/third_party/quiche/quiche/quic/core/http/http_constants.cc +1 -1
- package/third_party/quiche/quiche/quic/core/http/http_constants.h +2 -2
- package/third_party/quiche/quiche/quic/core/http/quic_header_list_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/http/quic_headers_stream_test.cc +18 -14
- package/third_party/quiche/quiche/quic/core/http/quic_send_control_stream.h +2 -1
- package/third_party/quiche/quiche/quic/core/http/quic_send_control_stream_test.cc +3 -7
- package/third_party/quiche/quiche/quic/core/http/quic_server_session_base.h +4 -0
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_session.cc +47 -65
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_session.h +5 -17
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_session_test.cc +63 -54
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream.cc +34 -91
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream.h +1 -9
- package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream_test.cc +27 -134
- package/third_party/quiche/quiche/quic/core/http/spdy_utils.cc +0 -41
- package/third_party/quiche/quiche/quic/core/http/spdy_utils.h +0 -9
- package/third_party/quiche/quiche/quic/core/http/spdy_utils_test.cc +0 -32
- package/third_party/quiche/quiche/quic/core/http/web_transport_http3.cc +0 -1
- package/third_party/quiche/quiche/quic/core/packet_number_indexed_queue_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/qpack/qpack_header_table.cc +2 -1
- package/third_party/quiche/quiche/quic/core/qpack/qpack_send_stream.h +2 -1
- package/third_party/quiche/quiche/quic/core/quic_arena_scoped_ptr_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_connection.cc +68 -46
- package/third_party/quiche/quiche/quic/core/quic_connection.h +7 -6
- package/third_party/quiche/quiche/quic/core/quic_connection_context_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_connection_id_manager_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_connection_id_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_connection_test.cc +45 -132
- package/third_party/quiche/quiche/quic/core/quic_constants.h +0 -7
- package/third_party/quiche/quiche/quic/core/quic_control_frame_manager.cc +11 -3
- package/third_party/quiche/quiche/quic/core/quic_control_frame_manager.h +1 -1
- package/third_party/quiche/quiche/quic/core/quic_control_frame_manager_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_crypto_client_handshaker.cc +13 -1
- package/third_party/quiche/quiche/quic/core/quic_crypto_client_handshaker.h +3 -0
- package/third_party/quiche/quiche/quic/core/quic_crypto_client_handshaker_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_crypto_client_stream.cc +6 -0
- package/third_party/quiche/quiche/quic/core/quic_crypto_client_stream.h +8 -0
- package/third_party/quiche/quiche/quic/core/quic_crypto_server_stream.cc +26 -13
- package/third_party/quiche/quiche/quic/core/quic_crypto_server_stream.h +5 -2
- package/third_party/quiche/quiche/quic/core/quic_crypto_stream.cc +55 -47
- package/third_party/quiche/quiche/quic/core/quic_crypto_stream.h +15 -10
- package/third_party/quiche/quiche/quic/core/quic_crypto_stream_test.cc +34 -5
- package/third_party/quiche/quiche/quic/core/quic_dispatcher.cc +20 -11
- package/third_party/quiche/quiche/quic/core/quic_dispatcher_test.cc +37 -13
- package/third_party/quiche/quiche/quic/core/quic_flags_list.h +6 -10
- package/third_party/quiche/quiche/quic/core/quic_flow_controller.cc +3 -3
- package/third_party/quiche/quiche/quic/core/quic_flow_controller.h +2 -2
- package/third_party/quiche/quiche/quic/core/quic_flow_controller_test.cc +15 -10
- package/third_party/quiche/quiche/quic/core/quic_framer.cc +1 -1
- package/third_party/quiche/quiche/quic/core/quic_one_block_arena.h +3 -2
- package/third_party/quiche/quiche/quic/core/quic_one_block_arena_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_packet_creator.cc +3 -11
- package/third_party/quiche/quiche/quic/core/quic_packet_creator.h +0 -8
- package/third_party/quiche/quiche/quic/core/quic_ping_manager.cc +14 -14
- package/third_party/quiche/quiche/quic/core/quic_ping_manager_test.cc +48 -0
- package/third_party/quiche/quiche/quic/core/quic_received_packet_manager.cc +3 -18
- package/third_party/quiche/quiche/quic/core/quic_received_packet_manager_test.cc +4 -14
- package/third_party/quiche/quiche/quic/core/quic_server_id_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_session.cc +4 -4
- package/third_party/quiche/quiche/quic/core/quic_session.h +1 -1
- package/third_party/quiche/quiche/quic/core/quic_session_test.cc +21 -1
- package/third_party/quiche/quiche/quic/core/quic_stream.cc +4 -7
- package/third_party/quiche/quiche/quic/core/quic_stream_test.cc +2 -4
- package/third_party/quiche/quiche/quic/core/quic_trace_visitor_test.cc +2 -2
- package/third_party/quiche/quiche/quic/core/quic_types.h +3 -8
- package/third_party/quiche/quiche/quic/core/quic_udp_socket_posix.cc +5 -4
- package/third_party/quiche/quiche/quic/core/quic_unacked_packet_map_test.cc +1 -1
- package/third_party/quiche/quiche/quic/core/quic_utils.cc +1 -1
- package/third_party/quiche/quiche/quic/core/quic_utils.h +2 -2
- package/third_party/quiche/quiche/quic/core/quic_versions_test.cc +0 -1
- package/third_party/quiche/quiche/quic/core/tls_client_handshaker.cc +13 -0
- package/third_party/quiche/quiche/quic/core/tls_client_handshaker.h +2 -0
- package/third_party/quiche/quiche/quic/core/tls_server_handshaker.cc +17 -3
- package/third_party/quiche/quiche/quic/core/tls_server_handshaker.h +3 -1
- package/third_party/quiche/quiche/quic/core/uber_received_packet_manager_test.cc +18 -10
- package/third_party/quiche/quiche/quic/masque/masque_client_bin.cc +6 -4
- package/third_party/quiche/quiche/quic/masque/masque_client_session.cc +23 -7
- package/third_party/quiche/quiche/quic/masque/masque_client_session.h +1 -1
- package/third_party/quiche/quiche/quic/masque/masque_server_backend.cc +13 -0
- package/third_party/quiche/quiche/quic/masque/masque_server_backend.h +2 -0
- package/third_party/quiche/quiche/quic/masque/masque_server_bin.cc +5 -4
- package/third_party/quiche/quiche/quic/masque/masque_server_session.cc +30 -40
- package/third_party/quiche/quiche/quic/masque/masque_server_session.h +1 -1
- package/third_party/quiche/quiche/quic/platform/api/quic_export.h +4 -4
- package/third_party/quiche/quiche/quic/platform/api/quic_flags.h +0 -1
- package/third_party/quiche/quiche/quic/platform/api/quic_logging.h +0 -6
- package/third_party/quiche/quiche/quic/platform/api/quic_test.h +6 -5
- package/third_party/quiche/quiche/quic/qbone/bonnet/icmp_reachable_test.cc +2 -2
- package/third_party/quiche/quiche/quic/qbone/bonnet/mock_qbone_tunnel.h +2 -0
- package/third_party/quiche/quiche/quic/qbone/bonnet/qbone_tunnel_interface.h +2 -0
- package/third_party/quiche/quiche/quic/qbone/bonnet/tun_device_controller_test.cc +2 -2
- package/third_party/quiche/quiche/quic/qbone/bonnet/tun_device_packet_exchanger_test.cc +2 -2
- package/third_party/quiche/quiche/quic/qbone/bonnet/tun_device_test.cc +2 -2
- package/third_party/quiche/quiche/quic/qbone/platform/netlink_test.cc +2 -2
- package/third_party/quiche/quiche/quic/qbone/platform/tcp_packet.cc +5 -4
- package/third_party/quiche/quiche/quic/qbone/qbone_client_session.cc +4 -2
- package/third_party/quiche/quiche/quic/qbone/qbone_packet_processor.cc +2 -1
- package/third_party/quiche/quiche/quic/qbone/qbone_packet_processor_test.cc +2 -2
- package/third_party/quiche/quiche/quic/qbone/qbone_server_session.cc +4 -2
- package/third_party/quiche/quiche/quic/qbone/qbone_session_base.cc +3 -2
- package/third_party/quiche/quiche/quic/qbone/qbone_stream.cc +4 -4
- package/third_party/quiche/quiche/quic/test_tools/quic_connection_peer.cc +1 -1
- package/third_party/quiche/quiche/quic/test_tools/quic_http_response_cache_data/test.example.com/index.html +63 -0
- package/third_party/quiche/quiche/quic/test_tools/quic_http_response_cache_data/test.example.com/map.html +65 -0
- package/third_party/quiche/quiche/quic/test_tools/quic_test_utils.cc +4 -3
- package/third_party/quiche/quiche/quic/test_tools/quic_test_utils.h +18 -1
- package/third_party/quiche/quiche/quic/test_tools/simulator/quic_endpoint_test.cc +1 -1
- package/third_party/quiche/quiche/quic/test_tools/simulator/simulator_test.cc +1 -1
- package/third_party/quiche/quiche/quic/test_tools/test_ticket_crypter.cc +1 -1
- package/third_party/quiche/quiche/quic/test_tools/test_ticket_crypter.h +2 -2
- package/third_party/quiche/quiche/quic/{core/crypto → tools}/crypto_message_printer_bin.cc +0 -0
- package/third_party/quiche/quiche/quic/{core/qpack → tools}/qpack_offline_decoder_bin.cc +0 -0
- package/third_party/quiche/quiche/quic/tools/quic_client_interop_test_bin.cc +4 -3
- package/third_party/quiche/quiche/quic/tools/quic_memory_cache_backend_test.cc +3 -31
- package/third_party/quiche/quiche/quic/tools/quic_packet_printer_bin.cc +2 -2
- package/third_party/quiche/quiche/quic/tools/quic_simple_server_session.h +1 -1
- package/third_party/quiche/quiche/quic/tools/quic_simple_server_session_test.cc +1 -1
- package/third_party/quiche/quiche/quic/tools/quic_toy_client.cc +52 -38
- package/third_party/quiche/quiche/quic/tools/quic_toy_server.cc +10 -7
- package/third_party/quiche/quiche/quic/tools/simple_ticket_crypter.cc +1 -1
- package/third_party/quiche/quiche/quic/tools/simple_ticket_crypter.h +1 -1
- package/third_party/quiche/quiche/quic/tools/web_transport_test_visitors.h +3 -2
- package/third_party/quiche/quiche/spdy/core/array_output_buffer.h +1 -1
- package/third_party/quiche/quiche/spdy/core/hpack/hpack_decoder_adapter_test.cc +1 -1
- package/third_party/quiche/quiche/spdy/core/hpack/hpack_encoder_test.cc +2 -1
- package/third_party/quiche/quiche/spdy/core/hpack/hpack_header_table_test.cc +1 -1
- package/third_party/quiche/quiche/spdy/core/hpack/hpack_round_trip_test.cc +2 -1
- package/third_party/quiche/quiche/spdy/core/hpack/hpack_static_table_test.cc +1 -1
- package/third_party/quiche/quiche/spdy/core/http2_frame_decoder_adapter.cc +8 -6
- package/third_party/quiche/quiche/spdy/core/http2_frame_decoder_adapter.h +17 -6
- package/third_party/quiche/quiche/spdy/core/metadata_extension.cc +1 -1
- package/third_party/quiche/quiche/spdy/core/metadata_extension_test.cc +1 -1
- package/third_party/quiche/quiche/spdy/core/spdy_framer_test.cc +21 -17
- package/third_party/quiche/quiche/spdy/core/spdy_intrusive_list_test.cc +3 -3
- package/third_party/quiche/quiche/spdy/core/spdy_no_op_visitor.h +6 -4
- package/third_party/quiche/quiche/spdy/core/spdy_pinnable_buffer_piece_test.cc +1 -1
- package/third_party/quiche/quiche/spdy/core/spdy_prefixed_buffer_reader_test.cc +1 -1
- package/third_party/quiche/quiche/spdy/core/spdy_protocol_test.cc +1 -1
- package/third_party/quiche/quiche/spdy/test_tools/mock_spdy_framer_visitor.h +5 -4
- package/third_party/boringssl/src/util/bot/cmake-win32.zip.sha1 +0 -1
- package/third_party/quiche/quiche/common/platform/api/quiche_mock_log.h +0 -18
- package/third_party/quiche/quiche/common/platform/api/quiche_test_helpers.h +0 -8
- package/third_party/quiche/quiche/quic/platform/api/quic_mock_log.h +0 -19
- package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_dispatcher.cc +0 -51
- package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_dispatcher.h +0 -41
- package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_session.cc +0 -168
- package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_session.h +0 -78
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Copyright 2022 The Chromium Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
#include "quiche_platform_impl/quiche_command_line_flags_impl.h"
|
|
6
|
+
|
|
7
|
+
#include <iostream>
|
|
8
|
+
|
|
9
|
+
#include "absl/flags/parse.h"
|
|
10
|
+
#include "absl/flags/usage.h"
|
|
11
|
+
|
|
12
|
+
namespace quiche {
|
|
13
|
+
|
|
14
|
+
static void SetUsage(absl::string_view usage) {
|
|
15
|
+
static bool usage_set = false;
|
|
16
|
+
if (!usage_set) {
|
|
17
|
+
absl::SetProgramUsageMessage(usage);
|
|
18
|
+
usage_set = true;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
std::vector<std::string> QuicheParseCommandLineFlagsImpl(
|
|
23
|
+
const char* usage, int argc, const char* const* argv, bool /*parse_only*/) {
|
|
24
|
+
SetUsage(usage);
|
|
25
|
+
std::vector<char*> parsed =
|
|
26
|
+
absl::ParseCommandLine(argc, const_cast<char**>(argv));
|
|
27
|
+
std::vector<std::string> result;
|
|
28
|
+
result.reserve(parsed.size());
|
|
29
|
+
// Remove the first argument, which is the name of the binary.
|
|
30
|
+
for (size_t i = 1; i < parsed.size(); i++) {
|
|
31
|
+
result.push_back(std::string(parsed[i]));
|
|
32
|
+
}
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
void QuichePrintCommandLineFlagHelpImpl(const char* usage) {
|
|
37
|
+
SetUsage(usage);
|
|
38
|
+
std::cerr << absl::ProgramUsageMessage() << std::endl;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
} // namespace quiche
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Copyright 2022 The Chromium Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
#ifndef QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_COMMAND_LINE_FLAGS_IMPL_H_
|
|
6
|
+
#define QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_COMMAND_LINE_FLAGS_IMPL_H_
|
|
7
|
+
|
|
8
|
+
#include "absl/flags/flag.h"
|
|
9
|
+
|
|
10
|
+
#define DEFINE_QUICHE_COMMAND_LINE_FLAG_IMPL(type, name, default_value, help) \
|
|
11
|
+
ABSL_FLAG(type, name, default_value, help)
|
|
12
|
+
|
|
13
|
+
namespace quiche {
|
|
14
|
+
|
|
15
|
+
template <typename T>
|
|
16
|
+
T GetQuicheCommandLineFlag(const absl::Flag<T>& flag) {
|
|
17
|
+
return absl::GetFlag(flag);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
std::vector<std::string> QuicheParseCommandLineFlagsImpl(
|
|
21
|
+
const char* usage, int argc, const char* const* argv,
|
|
22
|
+
bool parse_only = false);
|
|
23
|
+
|
|
24
|
+
void QuichePrintCommandLineFlagHelpImpl(const char* usage);
|
|
25
|
+
|
|
26
|
+
} // namespace quiche
|
|
27
|
+
|
|
28
|
+
template <typename T>
|
|
29
|
+
T GetQuicheFlagImpl(const absl::Flag<T>& flag) {
|
|
30
|
+
return absl::GetFlag(flag);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
#endif // QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_COMMAND_LINE_FLAGS_IMPL_H_
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Copyright 2022 The Chromium Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
#ifndef QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_EXPECT_BUG_IMPL_H_
|
|
6
|
+
#define QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_EXPECT_BUG_IMPL_H_
|
|
7
|
+
|
|
8
|
+
#include "quiche/common/platform/api/quiche_test.h"
|
|
9
|
+
|
|
10
|
+
#define EXPECT_QUICHE_BUG_IMPL(statement, regex) \
|
|
11
|
+
EXPECT_QUICHE_DEBUG_DEATH(statement, regex)
|
|
12
|
+
#define EXPECT_QUICHE_PEER_BUG_IMPL(statement, regex) \
|
|
13
|
+
EXPECT_QUICHE_DEBUG_DEATH(statement, regex)
|
|
14
|
+
|
|
15
|
+
#endif // QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_EXPECT_BUG_IMPL_H_
|
package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
5
|
// This file does not actually implement logging, it merely provides enough of
|
|
6
|
-
// logging code for QUICHE to compile. QUICHE embedders
|
|
7
|
-
// override this file with their own logic. If at some point
|
|
8
|
-
// part of Abseil, this file will likely start using that
|
|
6
|
+
// logging code for QUICHE to compile and pass the unit tests. QUICHE embedders
|
|
7
|
+
// are encouraged to override this file with their own logic. If at some point
|
|
8
|
+
// logging becomes a part of Abseil, this file will likely start using that
|
|
9
|
+
// instead.
|
|
9
10
|
|
|
10
11
|
#ifndef QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_LOGGING_IMPL_H_
|
|
11
12
|
#define QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_LOGGING_IMPL_H_
|
|
@@ -17,9 +18,17 @@
|
|
|
17
18
|
|
|
18
19
|
#include "absl/base/attributes.h"
|
|
19
20
|
#include "quiche/common/platform/api/quiche_export.h"
|
|
21
|
+
#include "quiche_platform_impl/quiche_stack_trace_impl.h"
|
|
20
22
|
|
|
21
23
|
namespace quiche {
|
|
22
24
|
|
|
25
|
+
class QUICHE_EXPORT_PRIVATE LogStreamVoidHelper {
|
|
26
|
+
public:
|
|
27
|
+
// This operator has lower precedence than << but higher than ?:, which is
|
|
28
|
+
// useful for implementing QUICHE_DISREGARD_LOG_STREAM below.
|
|
29
|
+
constexpr void operator&(std::ostream&) {}
|
|
30
|
+
};
|
|
31
|
+
|
|
23
32
|
// NoopLogSink provides a log sink that does not put the data that it logs
|
|
24
33
|
// anywhere.
|
|
25
34
|
class QUICHE_EXPORT_PRIVATE NoopLogSink {
|
|
@@ -34,9 +43,8 @@ class QUICHE_EXPORT_PRIVATE NoopLogSink {
|
|
|
34
43
|
|
|
35
44
|
constexpr std::ostream& stream() { return stream_; }
|
|
36
45
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
void operator&(std::ostream&) {}
|
|
46
|
+
protected:
|
|
47
|
+
std::string str() { return stream_.str(); }
|
|
40
48
|
|
|
41
49
|
private:
|
|
42
50
|
std::stringstream stream_;
|
|
@@ -46,77 +54,103 @@ class QUICHE_EXPORT_PRIVATE NoopLogSink {
|
|
|
46
54
|
// to compile due to the "failed to return value from non-void function" error.
|
|
47
55
|
class QUICHE_EXPORT_PRIVATE FatalLogSink : public NoopLogSink {
|
|
48
56
|
public:
|
|
49
|
-
ABSL_ATTRIBUTE_NORETURN ~FatalLogSink() {
|
|
57
|
+
ABSL_ATTRIBUTE_NORETURN ~FatalLogSink() {
|
|
58
|
+
std::cerr << str() << std::endl;
|
|
59
|
+
std::cerr << quiche::QuicheStackTraceImpl() << std::endl;
|
|
60
|
+
abort();
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
class QUICHE_EXPORT_PRIVATE CheckLogSink : public NoopLogSink {
|
|
65
|
+
public:
|
|
66
|
+
CheckLogSink(bool condition) : condition_(condition) {}
|
|
67
|
+
~CheckLogSink() {
|
|
68
|
+
if (!condition_) {
|
|
69
|
+
std::cerr << "Check failed: " << str() << std::endl;
|
|
70
|
+
std::cerr << quiche::QuicheStackTraceImpl() << std::endl;
|
|
71
|
+
abort();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
private:
|
|
76
|
+
const bool condition_;
|
|
50
77
|
};
|
|
51
78
|
|
|
52
79
|
} // namespace quiche
|
|
53
80
|
|
|
54
|
-
|
|
55
|
-
|
|
81
|
+
// This is necessary because we sometimes call QUICHE_DCHECK inside constexpr
|
|
82
|
+
// functions, and then write non-constexpr expressions into the resulting log.
|
|
83
|
+
#define QUICHE_CONDITIONAL_LOG_STREAM(stream, condition) \
|
|
84
|
+
!(condition) ? (void)0 : ::quiche::LogStreamVoidHelper() & (stream)
|
|
85
|
+
#define QUICHE_DISREGARD_LOG_STREAM(stream) \
|
|
86
|
+
QUICHE_CONDITIONAL_LOG_STREAM(stream, /*condition=*/false)
|
|
87
|
+
#define QUICHE_NOOP_STREAM() \
|
|
88
|
+
QUICHE_DISREGARD_LOG_STREAM(::quiche::NoopLogSink().stream())
|
|
89
|
+
#define QUICHE_NOOP_STREAM_WITH_CONDITION(condition) \
|
|
90
|
+
QUICHE_DISREGARD_LOG_STREAM(::quiche::NoopLogSink(condition).stream())
|
|
91
|
+
|
|
92
|
+
#define QUICHE_DVLOG_IMPL(verbose_level) QUICHE_NOOP_STREAM()
|
|
56
93
|
#define QUICHE_DVLOG_IF_IMPL(verbose_level, condition) \
|
|
57
|
-
|
|
58
|
-
#define QUICHE_DLOG_IMPL(severity)
|
|
59
|
-
#define
|
|
60
|
-
|
|
61
|
-
#define
|
|
62
|
-
::quiche::NoopLogSink(#verbose_level).stream()
|
|
63
|
-
#define QUICHE_LOG_FIRST_N_IMPL(severity, n) \
|
|
64
|
-
::quiche::NoopLogSink(#severity, n).stream()
|
|
65
|
-
#define QUICHE_LOG_EVERY_N_SEC_IMPL(severity, seconds) \
|
|
66
|
-
::quiche::NoopLogSink(#severity, seconds).stream()
|
|
67
|
-
#define QUICHE_LOG_IF_IMPL(severity, condition) \
|
|
68
|
-
::quiche::NoopLogSink(#severity, condition).stream()
|
|
94
|
+
QUICHE_NOOP_STREAM_WITH_CONDITION(condition)
|
|
95
|
+
#define QUICHE_DLOG_IMPL(severity) QUICHE_NOOP_STREAM()
|
|
96
|
+
#define QUICHE_VLOG_IMPL(verbose_level) QUICHE_NOOP_STREAM()
|
|
97
|
+
#define QUICHE_LOG_FIRST_N_IMPL(severity, n) QUICHE_NOOP_STREAM()
|
|
98
|
+
#define QUICHE_LOG_EVERY_N_SEC_IMPL(severity, seconds) QUICHE_NOOP_STREAM()
|
|
69
99
|
|
|
70
100
|
#define QUICHE_LOG_IMPL(severity) QUICHE_LOG_IMPL_##severity()
|
|
71
101
|
#define QUICHE_LOG_IMPL_FATAL() ::quiche::FatalLogSink().stream()
|
|
72
|
-
#define QUICHE_LOG_IMPL_DFATAL() ::quiche::NoopLogSink().stream()
|
|
73
102
|
#define QUICHE_LOG_IMPL_ERROR() ::quiche::NoopLogSink().stream()
|
|
74
103
|
#define QUICHE_LOG_IMPL_WARNING() ::quiche::NoopLogSink().stream()
|
|
75
104
|
#define QUICHE_LOG_IMPL_INFO() ::quiche::NoopLogSink().stream()
|
|
76
105
|
|
|
77
|
-
#define
|
|
78
|
-
|
|
106
|
+
#define QUICHE_LOG_IF_IMPL(severity, condition) \
|
|
107
|
+
QUICHE_CONDITIONAL_LOG_STREAM(QUICHE_LOG_IMPL_##severity(), condition)
|
|
79
108
|
|
|
80
|
-
#
|
|
109
|
+
#ifdef NDEBUG
|
|
110
|
+
#define QUICHE_LOG_IMPL_DFATAL() ::quiche::NoopLogSink().stream()
|
|
111
|
+
#define QUICHE_DLOG_IF_IMPL(severity, condition) \
|
|
112
|
+
QUICHE_NOOP_STREAM_WITH_CONDITION(condition)
|
|
113
|
+
#else
|
|
114
|
+
#define QUICHE_LOG_IMPL_DFATAL() ::quiche::FatalLogSink().stream()
|
|
115
|
+
#define QUICHE_DLOG_IF_IMPL(severity, condition) \
|
|
116
|
+
QUICHE_CONDITIONAL_LOG_STREAM(QUICHE_LOG_IMPL_##severity(), condition)
|
|
117
|
+
#endif
|
|
118
|
+
|
|
119
|
+
#define QUICHE_PLOG_IMPL(severity) QUICHE_NOOP_STREAM()
|
|
81
120
|
|
|
82
121
|
#define QUICHE_DLOG_INFO_IS_ON_IMPL() false
|
|
83
122
|
#define QUICHE_LOG_INFO_IS_ON_IMPL() false
|
|
84
123
|
#define QUICHE_LOG_WARNING_IS_ON_IMPL() false
|
|
85
124
|
#define QUICHE_LOG_ERROR_IS_ON_IMPL() false
|
|
86
125
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
#define QUICHE_DISREGARD_LOG_STREAM(stream) \
|
|
90
|
-
true ? (void)0 : ::quiche::NoopLogSink() & (stream)
|
|
91
|
-
|
|
92
|
-
#define QUICHE_CHECK_IMPL(condition) ::quiche::NoopLogSink(condition).stream()
|
|
126
|
+
#define QUICHE_CHECK_IMPL(condition) \
|
|
127
|
+
::quiche::CheckLogSink(static_cast<bool>(condition)).stream()
|
|
93
128
|
#define QUICHE_CHECK_EQ_IMPL(val1, val2) \
|
|
94
|
-
::quiche::
|
|
129
|
+
::quiche::CheckLogSink((val1) == (val2)).stream()
|
|
95
130
|
#define QUICHE_CHECK_NE_IMPL(val1, val2) \
|
|
96
|
-
::quiche::
|
|
131
|
+
::quiche::CheckLogSink((val1) != (val2)).stream()
|
|
97
132
|
#define QUICHE_CHECK_LE_IMPL(val1, val2) \
|
|
98
|
-
::quiche::
|
|
133
|
+
::quiche::CheckLogSink((val1) <= (val2)).stream()
|
|
99
134
|
#define QUICHE_CHECK_LT_IMPL(val1, val2) \
|
|
100
|
-
::quiche::
|
|
135
|
+
::quiche::CheckLogSink((val1) < (val2)).stream()
|
|
101
136
|
#define QUICHE_CHECK_GE_IMPL(val1, val2) \
|
|
102
|
-
::quiche::
|
|
137
|
+
::quiche::CheckLogSink((val1) >= (val2)).stream()
|
|
103
138
|
#define QUICHE_CHECK_GT_IMPL(val1, val2) \
|
|
104
|
-
::quiche::
|
|
139
|
+
::quiche::CheckLogSink((val1) > (val2)).stream()
|
|
105
140
|
|
|
141
|
+
#ifdef NDEBUG
|
|
106
142
|
#define QUICHE_DCHECK_IMPL(condition) \
|
|
107
|
-
|
|
108
|
-
#
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
#define
|
|
113
|
-
|
|
114
|
-
#define
|
|
115
|
-
|
|
116
|
-
#define QUICHE_DCHECK_GE_IMPL(val1, val2)
|
|
117
|
-
|
|
118
|
-
#define QUICHE_DCHECK_GT_IMPL(val1, val2) \
|
|
119
|
-
::quiche::NoopLogSink(val1, val2).stream()
|
|
143
|
+
QUICHE_NOOP_STREAM_WITH_CONDITION((condition))
|
|
144
|
+
#else
|
|
145
|
+
#define QUICHE_DCHECK_IMPL(condition) \
|
|
146
|
+
QUICHE_LOG_IF_IMPL(DFATAL, !static_cast<bool>(condition))
|
|
147
|
+
#endif
|
|
148
|
+
#define QUICHE_DCHECK_EQ_IMPL(val1, val2) QUICHE_DCHECK_IMPL((val1) == (val2))
|
|
149
|
+
#define QUICHE_DCHECK_NE_IMPL(val1, val2) QUICHE_DCHECK_IMPL((val1) != (val2))
|
|
150
|
+
#define QUICHE_DCHECK_LE_IMPL(val1, val2) QUICHE_DCHECK_IMPL((val1) <= (val2))
|
|
151
|
+
#define QUICHE_DCHECK_LT_IMPL(val1, val2) QUICHE_DCHECK_IMPL((val1) < (val2))
|
|
152
|
+
#define QUICHE_DCHECK_GE_IMPL(val1, val2) QUICHE_DCHECK_IMPL((val1) >= (val2))
|
|
153
|
+
#define QUICHE_DCHECK_GT_IMPL(val1, val2) QUICHE_DCHECK_IMPL((val1) > (val2))
|
|
120
154
|
|
|
121
155
|
#define QUICHE_NOTREACHED_IMPL() QUICHE_DCHECK_IMPL(false)
|
|
122
156
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#ifndef QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_LOWER_CASE_STRING_IMPL_H_
|
|
2
|
+
#define QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_LOWER_CASE_STRING_IMPL_H_
|
|
3
|
+
|
|
4
|
+
#include <string>
|
|
5
|
+
|
|
6
|
+
#include "absl/strings/ascii.h"
|
|
7
|
+
#include "absl/strings/string_view.h"
|
|
8
|
+
#include "quiche/common/platform/api/quiche_export.h"
|
|
9
|
+
|
|
10
|
+
namespace quiche {
|
|
11
|
+
|
|
12
|
+
class QUICHE_EXPORT_PRIVATE QuicheLowerCaseStringImpl {
|
|
13
|
+
public:
|
|
14
|
+
QuicheLowerCaseStringImpl(absl::string_view str)
|
|
15
|
+
: str_(absl::AsciiStrToLower(str)) {}
|
|
16
|
+
|
|
17
|
+
const std::string& get() const { return str_; }
|
|
18
|
+
|
|
19
|
+
private:
|
|
20
|
+
std::string str_;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
} // namespace quiche
|
|
24
|
+
|
|
25
|
+
#endif // QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_LOWER_CASE_STRING_IMPL_H_
|
|
@@ -23,7 +23,7 @@ constexpr absl::string_view kUnknownSymbol = "(unknown)";
|
|
|
23
23
|
std::string QuicheStackTraceImpl() {
|
|
24
24
|
std::vector<void*> stacktrace(kMaxStackSize, nullptr);
|
|
25
25
|
int num_frames = absl::GetStackTrace(stacktrace.data(), stacktrace.size(),
|
|
26
|
-
/*skip_count=*/
|
|
26
|
+
/*skip_count=*/0);
|
|
27
27
|
if (num_frames <= 0) {
|
|
28
28
|
return "";
|
|
29
29
|
}
|
package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.cc
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Copyright 2022 The Chromium Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
#include "quiche_platform_impl/quiche_test_impl.h"
|
|
6
|
+
|
|
7
|
+
#include "quiche/common/platform/api/quiche_flags.h"
|
|
8
|
+
|
|
9
|
+
QuicheFlagSaverImpl::QuicheFlagSaverImpl() {
|
|
10
|
+
#define QUIC_FLAG(flag, value) saved_##flag##_ = flag;
|
|
11
|
+
#include "quiche/quic/core/quic_flags_list.h"
|
|
12
|
+
#undef QUIC_FLAG
|
|
13
|
+
#define QUIC_PROTOCOL_FLAG(type, flag, ...) saved_##flag##_ = FLAGS_##flag;
|
|
14
|
+
#include "quiche/quic/core/quic_protocol_flags_list.h"
|
|
15
|
+
#undef QUIC_PROTOCOL_FLAG
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
QuicheFlagSaverImpl::~QuicheFlagSaverImpl() {
|
|
19
|
+
#define QUIC_FLAG(flag, value) flag = saved_##flag##_;
|
|
20
|
+
#include "quiche/quic/core/quic_flags_list.h" // NOLINT
|
|
21
|
+
#undef QUIC_FLAG
|
|
22
|
+
#define QUIC_PROTOCOL_FLAG(type, flag, ...) FLAGS_##flag = saved_##flag##_;
|
|
23
|
+
#include "quiche/quic/core/quic_protocol_flags_list.h" // NOLINT
|
|
24
|
+
#undef QUIC_PROTOCOL_FLAG
|
|
25
|
+
}
|
package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.h
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// Copyright 2022 The Chromium Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
#ifndef QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_TEST_IMPL_H_
|
|
6
|
+
#define QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_TEST_IMPL_H_
|
|
7
|
+
|
|
8
|
+
#include "gmock/gmock.h"
|
|
9
|
+
#include "gtest/gtest-spi.h"
|
|
10
|
+
#include "gtest/gtest.h"
|
|
11
|
+
|
|
12
|
+
#define EXPECT_QUICHE_DEBUG_DEATH_IMPL(condition, message) \
|
|
13
|
+
EXPECT_DEBUG_DEATH(condition, message)
|
|
14
|
+
|
|
15
|
+
#define QUICHE_TEST_DISABLED_IN_CHROME_IMPL(name) name
|
|
16
|
+
#define QUICHE_SLOW_TEST_IMPL(test) test
|
|
17
|
+
|
|
18
|
+
class QuicheFlagSaverImpl {
|
|
19
|
+
public:
|
|
20
|
+
QuicheFlagSaverImpl();
|
|
21
|
+
~QuicheFlagSaverImpl();
|
|
22
|
+
|
|
23
|
+
private:
|
|
24
|
+
#define QUIC_FLAG(flag, value) bool saved_##flag##_;
|
|
25
|
+
#include "quiche/quic/core/quic_flags_list.h"
|
|
26
|
+
#undef QUIC_FLAG
|
|
27
|
+
|
|
28
|
+
#define QUIC_PROTOCOL_FLAG(type, flag, ...) type saved_##flag##_;
|
|
29
|
+
#include "quiche/quic/core/quic_protocol_flags_list.h"
|
|
30
|
+
#undef QUIC_PROTOCOL_FLAG
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
class ScopedEnvironmentForThreadsImpl {};
|
|
34
|
+
|
|
35
|
+
namespace quiche::test {
|
|
36
|
+
|
|
37
|
+
class QuicheTestImpl : public ::testing::Test {
|
|
38
|
+
private:
|
|
39
|
+
QuicheFlagSaverImpl saver_;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
template <class T>
|
|
43
|
+
class QuicheTestWithParamImpl : public ::testing::TestWithParam<T> {
|
|
44
|
+
private:
|
|
45
|
+
QuicheFlagSaverImpl saver_;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
inline std::string QuicheGetCommonSourcePathImpl() { return "quiche/common"; }
|
|
49
|
+
|
|
50
|
+
} // namespace quiche::test
|
|
51
|
+
|
|
52
|
+
inline std::string QuicheGetTestMemoryCachePathImpl() {
|
|
53
|
+
return "quiche/quic/test_tools/quic_http_response_cache_data";
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
#endif // QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_TEST_IMPL_H_
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Copyright (c) 2022 The Chromium Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
#ifndef QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_TEST_OUTPUT_IMPL_H_
|
|
6
|
+
#define QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_TEST_OUTPUT_IMPL_H_
|
|
7
|
+
|
|
8
|
+
#include <string>
|
|
9
|
+
|
|
10
|
+
#include "absl/strings/string_view.h"
|
|
11
|
+
|
|
12
|
+
namespace quiche {
|
|
13
|
+
|
|
14
|
+
inline void QuicheSaveTestOutputImpl(absl::string_view /*filename*/,
|
|
15
|
+
absl::string_view /*data*/) {}
|
|
16
|
+
|
|
17
|
+
inline bool QuicheLoadTestOutputImpl(absl::string_view /*filename*/,
|
|
18
|
+
std::string* /*data*/) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
inline void QuicheRecordTraceImpl(absl::string_view /*identifier*/,
|
|
23
|
+
absl::string_view /*data*/) {}
|
|
24
|
+
|
|
25
|
+
} // namespace quiche
|
|
26
|
+
|
|
27
|
+
#endif // QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_TEST_OUTPUT_IMPL_H_
|
package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_thread_impl.h
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#ifndef QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_THREAD_IMPL_H_
|
|
2
|
+
#define QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_THREAD_IMPL_H_
|
|
3
|
+
|
|
4
|
+
#include <string>
|
|
5
|
+
#include <thread> // NOLINT: only used outside of google3
|
|
6
|
+
|
|
7
|
+
#include "absl/types/optional.h"
|
|
8
|
+
#include "quiche/common/platform/api/quiche_export.h"
|
|
9
|
+
|
|
10
|
+
class QUICHE_NO_EXPORT QuicheThreadImpl {
|
|
11
|
+
public:
|
|
12
|
+
QuicheThreadImpl(const std::string&) {}
|
|
13
|
+
virtual ~QuicheThreadImpl() {}
|
|
14
|
+
|
|
15
|
+
virtual void Run() = 0;
|
|
16
|
+
|
|
17
|
+
void Start() {
|
|
18
|
+
thread_.emplace([this]() { Run(); });
|
|
19
|
+
}
|
|
20
|
+
void Join() { thread_->join(); }
|
|
21
|
+
|
|
22
|
+
private:
|
|
23
|
+
absl::optional<std::thread> thread_;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
#endif // QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_THREAD_IMPL_H_
|
|
@@ -62,6 +62,7 @@ absl::optional<std::string> AsciiUrlDecodeImpl(absl::string_view input) {
|
|
|
62
62
|
std::string input_encoded = std::string(input);
|
|
63
63
|
url::RawCanonOutputW<1024> canon_output;
|
|
64
64
|
url::DecodeURLEscapeSequences(input_encoded.c_str(), input_encoded.length(),
|
|
65
|
+
url::DecodeURLMode::kUTF8,
|
|
65
66
|
&canon_output);
|
|
66
67
|
std::string output;
|
|
67
68
|
output.reserve(canon_output.length());
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
#include "quiche/common/quiche_buffer_allocator.h"
|
|
6
6
|
|
|
7
7
|
#include "absl/strings/string_view.h"
|
|
8
|
+
#include "quiche/common/platform/api/quiche_expect_bug.h"
|
|
8
9
|
#include "quiche/common/platform/api/quiche_test.h"
|
|
9
|
-
#include "quiche/common/platform/api/quiche_test_helpers.h"
|
|
10
10
|
#include "quiche/common/simple_buffer_allocator.h"
|
|
11
11
|
#include "quiche/common/test_tools/quiche_test_utils.h"
|
|
12
12
|
|
|
@@ -24,9 +24,8 @@ class QUICHE_EXPORT_PRIVATE QuicheMemSliceStorage {
|
|
|
24
24
|
QuicheBufferAllocator* allocator,
|
|
25
25
|
const quic::QuicByteCount max_slice_len);
|
|
26
26
|
|
|
27
|
-
QuicheMemSliceStorage(const QuicheMemSliceStorage& other) =
|
|
28
|
-
QuicheMemSliceStorage& operator=(const QuicheMemSliceStorage& other) =
|
|
29
|
-
default;
|
|
27
|
+
QuicheMemSliceStorage(const QuicheMemSliceStorage& other) = delete;
|
|
28
|
+
QuicheMemSliceStorage& operator=(const QuicheMemSliceStorage& other) = delete;
|
|
30
29
|
QuicheMemSliceStorage(QuicheMemSliceStorage&& other) = default;
|
|
31
30
|
QuicheMemSliceStorage& operator=(QuicheMemSliceStorage&& other) = default;
|
|
32
31
|
|
|
@@ -147,7 +147,7 @@ class StructuredHeaderParser {
|
|
|
147
147
|
// for parsing an Item from [SH09] 4.2.7).
|
|
148
148
|
absl::optional<Item> ReadBareItem() {
|
|
149
149
|
if (input_.empty()) {
|
|
150
|
-
|
|
150
|
+
QUICHE_DVLOG(1) << "ReadBareItem: unexpected EOF";
|
|
151
151
|
return absl::nullopt;
|
|
152
152
|
}
|
|
153
153
|
switch (input_.front()) {
|
|
@@ -234,8 +234,8 @@ class StructuredHeaderParser {
|
|
|
234
234
|
value = std::move(*item);
|
|
235
235
|
}
|
|
236
236
|
if (!parameters.emplace(*name, value).second) {
|
|
237
|
-
|
|
238
|
-
|
|
237
|
+
QUICHE_DVLOG(1) << "ReadParameterisedIdentifier: duplicated parameter: "
|
|
238
|
+
<< *name;
|
|
239
239
|
return absl::nullopt;
|
|
240
240
|
}
|
|
241
241
|
SkipWhitespaces();
|
|
@@ -426,24 +426,24 @@ class StructuredHeaderParser {
|
|
|
426
426
|
size_t i = 0;
|
|
427
427
|
for (; i < input_.size(); ++i) {
|
|
428
428
|
if (!absl::ascii_isprint(input_[i])) {
|
|
429
|
-
|
|
429
|
+
QUICHE_DVLOG(1) << "ReadString: non printable-ASCII character";
|
|
430
430
|
return absl::nullopt;
|
|
431
431
|
}
|
|
432
432
|
if (input_[i] == '"' || input_[i] == '\\') break;
|
|
433
433
|
}
|
|
434
434
|
if (i == input_.size()) {
|
|
435
|
-
|
|
435
|
+
QUICHE_DVLOG(1) << "ReadString: missing closing '\"'";
|
|
436
436
|
return absl::nullopt;
|
|
437
437
|
}
|
|
438
438
|
s.append(std::string(input_.substr(0, i)));
|
|
439
439
|
input_.remove_prefix(i);
|
|
440
440
|
if (ConsumeChar('\\')) {
|
|
441
441
|
if (input_.empty()) {
|
|
442
|
-
|
|
442
|
+
QUICHE_DVLOG(1) << "ReadString: backslash at string end";
|
|
443
443
|
return absl::nullopt;
|
|
444
444
|
}
|
|
445
445
|
if (input_[0] != '"' && input_[0] != '\\') {
|
|
446
|
-
|
|
446
|
+
QUICHE_DVLOG(1) << "ReadString: invalid escape";
|
|
447
447
|
return absl::nullopt;
|
|
448
448
|
}
|
|
449
449
|
s.push_back(input_.front());
|
|
@@ -462,7 +462,7 @@ class StructuredHeaderParser {
|
|
|
462
462
|
}
|
|
463
463
|
size_t len = input_.find(delimiter);
|
|
464
464
|
if (len == absl::string_view::npos) {
|
|
465
|
-
|
|
465
|
+
QUICHE_DVLOG(1) << "ReadByteSequence: missing closing delimiter";
|
|
466
466
|
return absl::nullopt;
|
|
467
467
|
}
|
|
468
468
|
std::string base64(input_.substr(0, len));
|
|
@@ -471,7 +471,8 @@ class StructuredHeaderParser {
|
|
|
471
471
|
|
|
472
472
|
std::string binary;
|
|
473
473
|
if (!absl::Base64Unescape(base64, &binary)) {
|
|
474
|
-
|
|
474
|
+
QUICHE_DVLOG(1) << "ReadByteSequence: failed to decode base64: "
|
|
475
|
+
<< base64;
|
|
475
476
|
return absl::nullopt;
|
|
476
477
|
}
|
|
477
478
|
input_.remove_prefix(len);
|
|
@@ -518,9 +519,10 @@ class StructuredHeaderParser {
|
|
|
518
519
|
}
|
|
519
520
|
|
|
520
521
|
void LogParseError(const char* func, const char* expected) {
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
522
|
+
QUICHE_DVLOG(1) << func << ": " << expected << " expected, got "
|
|
523
|
+
<< (input_.empty()
|
|
524
|
+
? "EOS"
|
|
525
|
+
: "'" + std::string(input_.substr(0, 1)) + "'");
|
|
524
526
|
}
|
|
525
527
|
|
|
526
528
|
absl::string_view input_;
|
|
@@ -116,12 +116,13 @@ bool EventForwarder::OnGoAwayFrameData(const char* goaway_data, size_t len) {
|
|
|
116
116
|
return false;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
void EventForwarder::OnHeaders(spdy::SpdyStreamId stream_id,
|
|
119
|
+
void EventForwarder::OnHeaders(spdy::SpdyStreamId stream_id,
|
|
120
|
+
size_t payload_length, bool has_priority,
|
|
120
121
|
int weight, spdy::SpdyStreamId parent_stream_id,
|
|
121
122
|
bool exclusive, bool fin, bool end) {
|
|
122
123
|
if (can_forward_()) {
|
|
123
|
-
receiver_.OnHeaders(stream_id, has_priority, weight,
|
|
124
|
-
exclusive, fin, end);
|
|
124
|
+
receiver_.OnHeaders(stream_id, payload_length, has_priority, weight,
|
|
125
|
+
parent_stream_id, exclusive, fin, end);
|
|
125
126
|
}
|
|
126
127
|
}
|
|
127
128
|
|
|
@@ -140,9 +141,10 @@ void EventForwarder::OnPushPromise(spdy::SpdyStreamId stream_id,
|
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
143
|
|
|
143
|
-
void EventForwarder::OnContinuation(spdy::SpdyStreamId stream_id,
|
|
144
|
+
void EventForwarder::OnContinuation(spdy::SpdyStreamId stream_id,
|
|
145
|
+
size_t payload_length, bool end) {
|
|
144
146
|
if (can_forward_()) {
|
|
145
|
-
receiver_.OnContinuation(stream_id, end);
|
|
147
|
+
receiver_.OnContinuation(stream_id, payload_length, end);
|
|
146
148
|
}
|
|
147
149
|
}
|
|
148
150
|
|
|
@@ -46,14 +46,16 @@ class QUICHE_EXPORT_PRIVATE EventForwarder
|
|
|
46
46
|
void OnGoAway(spdy::SpdyStreamId last_accepted_stream_id,
|
|
47
47
|
spdy::SpdyErrorCode error_code) override;
|
|
48
48
|
bool OnGoAwayFrameData(const char* goaway_data, size_t len) override;
|
|
49
|
-
void OnHeaders(spdy::SpdyStreamId stream_id,
|
|
49
|
+
void OnHeaders(spdy::SpdyStreamId stream_id, size_t payload_length,
|
|
50
|
+
bool has_priority, int weight,
|
|
50
51
|
spdy::SpdyStreamId parent_stream_id, bool exclusive, bool fin,
|
|
51
52
|
bool end) override;
|
|
52
53
|
void OnWindowUpdate(spdy::SpdyStreamId stream_id,
|
|
53
54
|
int delta_window_size) override;
|
|
54
55
|
void OnPushPromise(spdy::SpdyStreamId stream_id,
|
|
55
56
|
spdy::SpdyStreamId promised_stream_id, bool end) override;
|
|
56
|
-
void OnContinuation(spdy::SpdyStreamId stream_id,
|
|
57
|
+
void OnContinuation(spdy::SpdyStreamId stream_id, size_t payload_length,
|
|
58
|
+
bool end) override;
|
|
57
59
|
void OnAltSvc(spdy::SpdyStreamId stream_id, absl::string_view origin,
|
|
58
60
|
const spdy::SpdyAltSvcWireFormat::AlternativeServiceVector&
|
|
59
61
|
altsvc_vector) override;
|