@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.
Files changed (384) hide show
  1. package/.github/workflows/npm-publish-packages.yml +0 -0
  2. package/CMakeLists.txt +2 -0
  3. package/package.json +1 -1
  4. package/readme.md +0 -0
  5. package/src/http3serversession.h +1 -1
  6. package/src/webtransport.js +4 -2
  7. package/third_party/boringssl/src/CMakeLists.txt +9 -12
  8. package/third_party/boringssl/src/crypto/CMakeLists.txt +2 -3
  9. package/third_party/boringssl/src/crypto/asn1/time_support.c +206 -206
  10. package/third_party/boringssl/src/crypto/bio/socket_helper.c +124 -122
  11. package/third_party/boringssl/src/crypto/evp/digestsign.c +268 -231
  12. package/third_party/boringssl/src/crypto/evp/p_ec.c +286 -286
  13. package/third_party/boringssl/src/crypto/fipsmodule/aes/key_wrap.c +246 -236
  14. package/third_party/boringssl/src/crypto/fipsmodule/aes/mode_wrappers.c +124 -122
  15. package/third_party/boringssl/src/crypto/fipsmodule/bcm.c +3 -0
  16. package/third_party/boringssl/src/crypto/fipsmodule/bn/bytes.c +246 -230
  17. package/third_party/boringssl/src/crypto/fipsmodule/bn/internal.h +734 -715
  18. package/third_party/boringssl/src/crypto/fipsmodule/bn/random.c +349 -341
  19. package/third_party/boringssl/src/crypto/fipsmodule/cipher/cipher.c +670 -648
  20. package/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c +1504 -1472
  21. package/third_party/boringssl/src/crypto/{cipher_extra → fipsmodule/cipher}/e_aesccm.c +435 -446
  22. package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_3des_cmac_tests.txt +0 -0
  23. package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_aes128_cmac_tests.txt +0 -0
  24. package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_aes192_cmac_tests.txt +0 -0
  25. package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cavp_aes256_cmac_tests.txt +0 -0
  26. package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cmac.c +318 -278
  27. package/third_party/boringssl/src/crypto/{cmac → fipsmodule/cmac}/cmac_test.cc +268 -267
  28. package/third_party/boringssl/src/crypto/fipsmodule/dh/dh.c +5 -1
  29. package/third_party/boringssl/src/crypto/fipsmodule/ec/ec.c +11 -17
  30. package/third_party/boringssl/src/crypto/fipsmodule/ec/ec_key.c +15 -4
  31. package/third_party/boringssl/src/crypto/fipsmodule/ec/internal.h +2 -6
  32. package/third_party/boringssl/src/crypto/fipsmodule/ec/p224-64.c +1164 -1180
  33. package/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz.c +3 -3
  34. package/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz_test.cc +2 -2
  35. package/third_party/boringssl/src/crypto/fipsmodule/ec/p256.c +44 -33
  36. package/third_party/boringssl/src/crypto/fipsmodule/ec/scalar.c +169 -175
  37. package/third_party/boringssl/src/crypto/fipsmodule/ec/simple.c +352 -357
  38. package/third_party/boringssl/src/crypto/fipsmodule/ecdh/ecdh.c +4 -0
  39. package/third_party/boringssl/src/crypto/fipsmodule/ecdsa/ecdsa.c +14 -9
  40. package/third_party/boringssl/src/crypto/fipsmodule/hmac/hmac.c +256 -235
  41. package/third_party/boringssl/src/crypto/fipsmodule/rand/ctrdrbg.c +204 -202
  42. package/third_party/boringssl/src/crypto/fipsmodule/rsa/padding.c +702 -695
  43. package/third_party/boringssl/src/crypto/fipsmodule/rsa/rsa_impl.c +7 -2
  44. package/third_party/boringssl/src/crypto/fipsmodule/self_check/self_check.c +7 -0
  45. package/third_party/boringssl/src/crypto/fipsmodule/service_indicator/internal.h +89 -0
  46. package/third_party/boringssl/src/crypto/fipsmodule/service_indicator/service_indicator.c +333 -0
  47. package/third_party/boringssl/src/crypto/fipsmodule/service_indicator/service_indicator_test.cc +2410 -0
  48. package/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c +359 -357
  49. package/third_party/boringssl/src/crypto/fipsmodule/sha/sha256.c +325 -321
  50. package/third_party/boringssl/src/crypto/fipsmodule/sha/sha512.c +510 -508
  51. package/third_party/boringssl/src/crypto/fipsmodule/tls/kdf.c +177 -165
  52. package/third_party/boringssl/src/crypto/internal.h +13 -0
  53. package/third_party/boringssl/src/crypto/trust_token/trust_token_test.cc +884 -884
  54. package/third_party/boringssl/src/crypto/x509/internal.h +0 -2
  55. package/third_party/boringssl/src/crypto/x509/t_crl.c +148 -148
  56. package/third_party/boringssl/src/crypto/x509/t_req.c +249 -250
  57. package/third_party/boringssl/src/crypto/x509/t_x509.c +2 -3
  58. package/third_party/boringssl/src/crypto/x509/x509_req.c +262 -304
  59. package/third_party/boringssl/src/crypto/x509/x509_set.c +250 -240
  60. package/third_party/boringssl/src/crypto/x509/x509_test.cc +466 -4
  61. package/third_party/boringssl/src/crypto/x509/x509cset.c +292 -279
  62. package/third_party/boringssl/src/crypto/x509/x509rset.c +89 -86
  63. package/third_party/boringssl/src/crypto/x509/x_crl.c +37 -125
  64. package/third_party/boringssl/src/crypto/x509/x_req.c +114 -109
  65. package/third_party/boringssl/src/crypto/x509/x_x509.c +394 -394
  66. package/third_party/boringssl/src/crypto/x509v3/v3_akey.c +11 -16
  67. package/third_party/boringssl/src/crypto/x509v3/v3_alt.c +644 -642
  68. package/third_party/boringssl/src/crypto/x509v3/v3_bcons.c +130 -133
  69. package/third_party/boringssl/src/crypto/x509v3/v3_bitst.c +149 -144
  70. package/third_party/boringssl/src/crypto/x509v3/v3_cpols.c +496 -500
  71. package/third_party/boringssl/src/crypto/x509v3/v3_enum.c +105 -106
  72. package/third_party/boringssl/src/crypto/x509v3/v3_ia5.c +126 -121
  73. package/third_party/boringssl/src/crypto/x509v3/v3_info.c +206 -218
  74. package/third_party/boringssl/src/crypto/x509v3/v3_int.c +97 -91
  75. package/third_party/boringssl/src/crypto/x509v3/v3_pci.c +290 -289
  76. package/third_party/boringssl/src/crypto/x509v3/v3_skey.c +161 -156
  77. package/third_party/boringssl/src/crypto/x509v3/v3_utl.c +5 -3
  78. package/third_party/boringssl/src/include/openssl/aead.h +480 -480
  79. package/third_party/boringssl/src/include/openssl/asn1.h +2 -0
  80. package/third_party/boringssl/src/include/openssl/base.h +1 -1
  81. package/third_party/boringssl/src/include/openssl/service_indicator.h +96 -0
  82. package/third_party/boringssl/src/include/openssl/ssl.h +7 -0
  83. package/third_party/boringssl/src/include/openssl/x509.h +11 -33
  84. package/third_party/boringssl/src/include/openssl/x509v3.h +990 -1018
  85. package/third_party/boringssl/src/sources.cmake +4 -4
  86. package/third_party/boringssl/src/ssl/internal.h +10 -0
  87. package/third_party/boringssl/src/ssl/ssl_lib.cc +3081 -3072
  88. package/third_party/boringssl/src/ssl/ssl_test.cc +46 -0
  89. package/third_party/boringssl/src/ssl/tls13_server.cc +4 -6
  90. package/third_party/boringssl/src/util/bot/DEPS +14 -27
  91. package/third_party/boringssl/src/util/bot/UPDATING +3 -9
  92. package/third_party/boringssl/src/util/bot/update_clang.py +172 -172
  93. package/third_party/boringssl/src/util/bot/vs_toolchain.py +3 -3
  94. package/third_party/quiche/.bazelrc +8 -0
  95. package/third_party/quiche/BUILD.bazel +7 -0
  96. package/third_party/quiche/WHITESPACE +3 -1
  97. package/third_party/quiche/WORKSPACE.bazel +87 -0
  98. package/third_party/quiche/build/BUILD.bazel +7 -0
  99. package/third_party/quiche/build/source_list.bzl +1511 -0
  100. package/third_party/quiche/build/source_list.gni +1511 -0
  101. package/third_party/quiche/build/source_list.json +1511 -0
  102. package/third_party/quiche/build/test.bzl +26 -0
  103. package/third_party/quiche/build/zlib.BUILD +25 -0
  104. package/third_party/quiche/quiche/BUILD.bazel +270 -0
  105. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_enums.cc +3 -3
  106. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_enums.h +7 -7
  107. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_frame.cc +39 -18
  108. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_frame.h +11 -10
  109. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_frame_test.cc +67 -63
  110. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_headers.cc +13 -12
  111. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_headers.h +16 -8
  112. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_headers_test.cc +9 -9
  113. package/third_party/quiche/quiche/{common/balsa → balsa}/balsa_visitor_interface.h +4 -4
  114. package/third_party/quiche/quiche/{common/balsa → balsa}/framer_interface.h +3 -3
  115. package/third_party/quiche/quiche/{common/balsa → balsa}/header_api.h +3 -3
  116. package/third_party/quiche/quiche/{common/balsa → balsa}/header_properties.cc +1 -1
  117. package/third_party/quiche/quiche/{common/balsa → balsa}/header_properties.h +3 -3
  118. package/third_party/quiche/quiche/{common/balsa → balsa}/header_properties_test.cc +1 -1
  119. package/third_party/quiche/quiche/{common/balsa → balsa}/http_validation_policy.cc +1 -1
  120. package/third_party/quiche/quiche/{common/balsa → balsa}/http_validation_policy.h +3 -3
  121. package/third_party/quiche/quiche/{common/balsa → balsa}/noop_balsa_visitor.h +4 -4
  122. package/third_party/quiche/quiche/{common/balsa → balsa}/simple_buffer.cc +22 -29
  123. package/third_party/quiche/quiche/{common/balsa → balsa}/simple_buffer.h +18 -16
  124. package/third_party/quiche/quiche/{common/balsa → balsa}/simple_buffer_test.cc +79 -32
  125. package/third_party/quiche/quiche/{common/balsa → balsa}/standard_header_map.cc +1 -1
  126. package/third_party/quiche/quiche/{common/balsa → balsa}/standard_header_map.h +3 -3
  127. package/third_party/quiche/quiche/common/platform/api/quiche_command_line_flags.h +6 -1
  128. package/third_party/quiche/quiche/common/platform/api/quiche_flags.h +8 -0
  129. package/third_party/quiche/quiche/common/platform/api/quiche_logging.h +0 -3
  130. package/third_party/quiche/quiche/common/platform/api/quiche_lower_case_string_test.cc +29 -0
  131. package/third_party/quiche/quiche/common/platform/api/quiche_test.h +5 -7
  132. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quic_flags_impl.h +1 -1
  133. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_bug_tracker_impl.h +3 -2
  134. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_command_line_flags_impl.cc +41 -0
  135. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_command_line_flags_impl.h +33 -0
  136. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_expect_bug_impl.h +15 -0
  137. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h +84 -50
  138. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_lower_case_string_impl.h +25 -0
  139. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_stack_trace_impl.cc +1 -1
  140. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.cc +25 -0
  141. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.h +56 -0
  142. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_test_output_impl.h +27 -0
  143. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_thread_impl.h +26 -0
  144. package/third_party/quiche/quiche/common/platform/default/quiche_platform_impl/quiche_url_utils_impl.cc +1 -0
  145. package/third_party/quiche/quiche/common/quiche_buffer_allocator_test.cc +1 -1
  146. package/third_party/quiche/quiche/common/quiche_mem_slice_storage.h +2 -3
  147. package/third_party/quiche/quiche/common/structured_headers.cc +14 -12
  148. package/third_party/quiche/quiche/http2/adapter/event_forwarder.cc +7 -5
  149. package/third_party/quiche/quiche/http2/adapter/event_forwarder.h +4 -2
  150. package/third_party/quiche/quiche/http2/adapter/event_forwarder_test.cc +14 -9
  151. package/third_party/quiche/quiche/http2/adapter/header_validator.cc +43 -19
  152. package/third_party/quiche/quiche/http2/adapter/header_validator.h +11 -40
  153. package/third_party/quiche/quiche/http2/adapter/header_validator_base.h +69 -0
  154. package/third_party/quiche/quiche/http2/adapter/header_validator_test.cc +73 -1
  155. package/third_party/quiche/quiche/http2/adapter/nghttp2_adapter_test.cc +66 -0
  156. package/third_party/quiche/quiche/http2/adapter/nghttp2_session_test.cc +8 -5
  157. package/third_party/quiche/quiche/http2/adapter/nghttp2_test.cc +1 -1
  158. package/third_party/quiche/quiche/http2/adapter/noop_header_validator.cc +22 -0
  159. package/third_party/quiche/quiche/http2/adapter/noop_header_validator.h +25 -0
  160. package/third_party/quiche/quiche/http2/adapter/noop_header_validator_test.cc +523 -0
  161. package/third_party/quiche/quiche/http2/adapter/oghttp2_adapter_test.cc +186 -5
  162. package/third_party/quiche/quiche/http2/adapter/oghttp2_session.cc +37 -43
  163. package/third_party/quiche/quiche/http2/adapter/oghttp2_session.h +22 -23
  164. package/third_party/quiche/quiche/http2/adapter/test_utils.cc +1 -1
  165. package/third_party/quiche/quiche/http2/adapter/window_manager_test.cc +11 -5
  166. package/third_party/quiche/quiche/http2/core/http2_trace_logging.cc +13 -11
  167. package/third_party/quiche/quiche/http2/core/http2_trace_logging.h +5 -4
  168. package/third_party/quiche/quiche/http2/core/priority_write_scheduler.h +42 -36
  169. package/third_party/quiche/quiche/http2/core/priority_write_scheduler_test.cc +2 -2
  170. package/third_party/quiche/quiche/http2/decoder/decode_buffer_test.cc +9 -9
  171. package/third_party/quiche/quiche/http2/decoder/decode_http2_structures_test.cc +1 -1
  172. package/third_party/quiche/quiche/http2/decoder/http2_frame_decoder_test.cc +14 -14
  173. package/third_party/quiche/quiche/http2/decoder/http2_structure_decoder_test.cc +17 -17
  174. package/third_party/quiche/quiche/http2/decoder/payload_decoders/altsvc_payload_decoder_test.cc +1 -1
  175. package/third_party/quiche/quiche/http2/decoder/payload_decoders/continuation_payload_decoder_test.cc +1 -1
  176. package/third_party/quiche/quiche/http2/decoder/payload_decoders/data_payload_decoder_test.cc +2 -2
  177. package/third_party/quiche/quiche/http2/decoder/payload_decoders/goaway_payload_decoder_test.cc +1 -1
  178. package/third_party/quiche/quiche/http2/decoder/payload_decoders/headers_payload_decoder_test.cc +1 -1
  179. package/third_party/quiche/quiche/http2/decoder/payload_decoders/ping_payload_decoder_test.cc +1 -1
  180. package/third_party/quiche/quiche/http2/decoder/payload_decoders/priority_payload_decoder_test.cc +1 -1
  181. package/third_party/quiche/quiche/http2/decoder/payload_decoders/priority_update_payload_decoder_test.cc +1 -1
  182. package/third_party/quiche/quiche/http2/decoder/payload_decoders/push_promise_payload_decoder_test.cc +1 -1
  183. package/third_party/quiche/quiche/http2/decoder/payload_decoders/rst_stream_payload_decoder_test.cc +1 -1
  184. package/third_party/quiche/quiche/http2/decoder/payload_decoders/settings_payload_decoder_test.cc +1 -1
  185. package/third_party/quiche/quiche/http2/decoder/payload_decoders/unknown_payload_decoder_test.cc +1 -1
  186. package/third_party/quiche/quiche/http2/decoder/payload_decoders/window_update_payload_decoder_test.cc +1 -1
  187. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_block_decoder_test.cc +2 -2
  188. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc +8 -8
  189. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_string_buffer_test.cc +4 -3
  190. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_tables_test.cc +17 -17
  191. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_decoder_test.cc +25 -25
  192. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_entry_decoder_test.cc +2 -2
  193. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_entry_type_decoder_test.cc +7 -6
  194. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_string_decoder_test.cc +6 -6
  195. package/third_party/quiche/quiche/http2/hpack/decoder/hpack_whole_entry_buffer_test.cc +1 -1
  196. package/third_party/quiche/quiche/http2/hpack/huffman/hpack_huffman_decoder_test.cc +2 -2
  197. package/third_party/quiche/quiche/http2/hpack/huffman/hpack_huffman_encoder_test.cc +1 -1
  198. package/third_party/quiche/quiche/http2/hpack/huffman/hpack_huffman_transcoder_test.cc +5 -5
  199. package/third_party/quiche/quiche/http2/hpack/varint/hpack_varint_decoder_test.cc +4 -4
  200. package/third_party/quiche/quiche/http2/hpack/varint/hpack_varint_round_trip_test.cc +1 -1
  201. package/third_party/quiche/quiche/http2/http2_constants_test.cc +1 -1
  202. package/third_party/quiche/quiche/http2/http2_structures_test.cc +23 -22
  203. package/third_party/quiche/quiche/http2/test_tools/frame_decoder_state_test_util.cc +1 -1
  204. package/third_party/quiche/quiche/http2/test_tools/frame_decoder_state_test_util.h +1 -1
  205. package/third_party/quiche/quiche/http2/test_tools/frame_parts.cc +38 -38
  206. package/third_party/quiche/quiche/http2/test_tools/hpack_block_collector.cc +15 -15
  207. package/third_party/quiche/quiche/http2/test_tools/hpack_entry_collector.cc +24 -22
  208. package/third_party/quiche/quiche/http2/test_tools/hpack_string_collector.cc +5 -5
  209. package/third_party/quiche/quiche/http2/test_tools/http2_frame_builder_test.cc +70 -89
  210. package/third_party/quiche/quiche/http2/test_tools/payload_decoder_base_test_util.cc +1 -1
  211. package/third_party/quiche/quiche/http2/test_tools/payload_decoder_base_test_util.h +29 -26
  212. package/third_party/quiche/quiche/http2/test_tools/{random_decoder_test.cc → random_decoder_test_base.cc} +13 -10
  213. package/third_party/quiche/quiche/http2/test_tools/{random_decoder_test.h → random_decoder_test_base.h} +15 -17
  214. package/third_party/quiche/quiche/http2/test_tools/{random_decoder_test_test.cc → random_decoder_test_base_test.cc} +1 -1
  215. package/third_party/quiche/quiche/http2/test_tools/verify_macros.h +32 -0
  216. package/third_party/quiche/quiche/quic/core/congestion_control/bbr2_sender.cc +2 -1
  217. package/third_party/quiche/quiche/quic/core/congestion_control/bbr2_simulator_test.cc +3 -2
  218. package/third_party/quiche/quiche/quic/core/congestion_control/bbr_sender_test.cc +3 -2
  219. package/third_party/quiche/quiche/quic/core/congestion_control/rtt_stats.cc +3 -2
  220. package/third_party/quiche/quiche/quic/core/congestion_control/rtt_stats.h +2 -1
  221. package/third_party/quiche/quiche/quic/core/congestion_control/rtt_stats_test.cc +2 -13
  222. package/third_party/quiche/quiche/quic/core/crypto/certificate_view.cc +15 -0
  223. package/third_party/quiche/quiche/quic/core/crypto/certificate_view.h +7 -0
  224. package/third_party/quiche/quiche/quic/core/crypto/certificate_view_test.cc +16 -0
  225. package/third_party/quiche/quiche/quic/core/crypto/crypto_protocol.h +1 -0
  226. package/third_party/quiche/quiche/quic/core/crypto/proof_source.h +2 -2
  227. package/third_party/quiche/quiche/quic/core/crypto/proof_source_x509.cc +3 -5
  228. package/third_party/quiche/quiche/quic/core/crypto/proof_source_x509.h +1 -2
  229. package/third_party/quiche/quiche/quic/core/crypto/quic_crypto_server_config.cc +1 -1
  230. package/third_party/quiche/quiche/quic/core/crypto/quic_crypto_server_config.h +3 -3
  231. package/third_party/quiche/quiche/quic/core/frames/quic_blocked_frame.cc +2 -8
  232. package/third_party/quiche/quiche/quic/core/frames/quic_blocked_frame.h +0 -1
  233. package/third_party/quiche/quiche/quic/core/frames/quic_crypto_frame.h +2 -0
  234. package/third_party/quiche/quiche/quic/core/frames/quic_frames_test.cc +2 -1
  235. package/third_party/quiche/quiche/quic/core/http/capsule.cc +2 -22
  236. package/third_party/quiche/quiche/quic/core/http/capsule.h +0 -2
  237. package/third_party/quiche/quiche/quic/core/http/capsule_test.cc +1 -2
  238. package/third_party/quiche/quiche/quic/core/http/end_to_end_test.cc +148 -57
  239. package/third_party/quiche/quiche/quic/core/http/http_constants.cc +1 -1
  240. package/third_party/quiche/quiche/quic/core/http/http_constants.h +2 -2
  241. package/third_party/quiche/quiche/quic/core/http/quic_header_list_test.cc +2 -2
  242. package/third_party/quiche/quiche/quic/core/http/quic_headers_stream_test.cc +18 -14
  243. package/third_party/quiche/quiche/quic/core/http/quic_send_control_stream.h +2 -1
  244. package/third_party/quiche/quiche/quic/core/http/quic_send_control_stream_test.cc +3 -7
  245. package/third_party/quiche/quiche/quic/core/http/quic_server_session_base.h +4 -0
  246. package/third_party/quiche/quiche/quic/core/http/quic_spdy_session.cc +47 -65
  247. package/third_party/quiche/quiche/quic/core/http/quic_spdy_session.h +5 -17
  248. package/third_party/quiche/quiche/quic/core/http/quic_spdy_session_test.cc +63 -54
  249. package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream.cc +34 -91
  250. package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream.h +1 -9
  251. package/third_party/quiche/quiche/quic/core/http/quic_spdy_stream_test.cc +27 -134
  252. package/third_party/quiche/quiche/quic/core/http/spdy_utils.cc +0 -41
  253. package/third_party/quiche/quiche/quic/core/http/spdy_utils.h +0 -9
  254. package/third_party/quiche/quiche/quic/core/http/spdy_utils_test.cc +0 -32
  255. package/third_party/quiche/quiche/quic/core/http/web_transport_http3.cc +0 -1
  256. package/third_party/quiche/quiche/quic/core/packet_number_indexed_queue_test.cc +2 -2
  257. package/third_party/quiche/quiche/quic/core/qpack/qpack_header_table.cc +2 -1
  258. package/third_party/quiche/quiche/quic/core/qpack/qpack_send_stream.h +2 -1
  259. package/third_party/quiche/quiche/quic/core/quic_arena_scoped_ptr_test.cc +2 -2
  260. package/third_party/quiche/quiche/quic/core/quic_connection.cc +68 -46
  261. package/third_party/quiche/quiche/quic/core/quic_connection.h +7 -6
  262. package/third_party/quiche/quiche/quic/core/quic_connection_context_test.cc +2 -2
  263. package/third_party/quiche/quiche/quic/core/quic_connection_id_manager_test.cc +2 -2
  264. package/third_party/quiche/quiche/quic/core/quic_connection_id_test.cc +2 -2
  265. package/third_party/quiche/quiche/quic/core/quic_connection_test.cc +45 -132
  266. package/third_party/quiche/quiche/quic/core/quic_constants.h +0 -7
  267. package/third_party/quiche/quiche/quic/core/quic_control_frame_manager.cc +11 -3
  268. package/third_party/quiche/quiche/quic/core/quic_control_frame_manager.h +1 -1
  269. package/third_party/quiche/quiche/quic/core/quic_control_frame_manager_test.cc +2 -2
  270. package/third_party/quiche/quiche/quic/core/quic_crypto_client_handshaker.cc +13 -1
  271. package/third_party/quiche/quiche/quic/core/quic_crypto_client_handshaker.h +3 -0
  272. package/third_party/quiche/quiche/quic/core/quic_crypto_client_handshaker_test.cc +2 -2
  273. package/third_party/quiche/quiche/quic/core/quic_crypto_client_stream.cc +6 -0
  274. package/third_party/quiche/quiche/quic/core/quic_crypto_client_stream.h +8 -0
  275. package/third_party/quiche/quiche/quic/core/quic_crypto_server_stream.cc +26 -13
  276. package/third_party/quiche/quiche/quic/core/quic_crypto_server_stream.h +5 -2
  277. package/third_party/quiche/quiche/quic/core/quic_crypto_stream.cc +55 -47
  278. package/third_party/quiche/quiche/quic/core/quic_crypto_stream.h +15 -10
  279. package/third_party/quiche/quiche/quic/core/quic_crypto_stream_test.cc +34 -5
  280. package/third_party/quiche/quiche/quic/core/quic_dispatcher.cc +20 -11
  281. package/third_party/quiche/quiche/quic/core/quic_dispatcher_test.cc +37 -13
  282. package/third_party/quiche/quiche/quic/core/quic_flags_list.h +6 -10
  283. package/third_party/quiche/quiche/quic/core/quic_flow_controller.cc +3 -3
  284. package/third_party/quiche/quiche/quic/core/quic_flow_controller.h +2 -2
  285. package/third_party/quiche/quiche/quic/core/quic_flow_controller_test.cc +15 -10
  286. package/third_party/quiche/quiche/quic/core/quic_framer.cc +1 -1
  287. package/third_party/quiche/quiche/quic/core/quic_one_block_arena.h +3 -2
  288. package/third_party/quiche/quiche/quic/core/quic_one_block_arena_test.cc +2 -2
  289. package/third_party/quiche/quiche/quic/core/quic_packet_creator.cc +3 -11
  290. package/third_party/quiche/quiche/quic/core/quic_packet_creator.h +0 -8
  291. package/third_party/quiche/quiche/quic/core/quic_ping_manager.cc +14 -14
  292. package/third_party/quiche/quiche/quic/core/quic_ping_manager_test.cc +48 -0
  293. package/third_party/quiche/quiche/quic/core/quic_received_packet_manager.cc +3 -18
  294. package/third_party/quiche/quiche/quic/core/quic_received_packet_manager_test.cc +4 -14
  295. package/third_party/quiche/quiche/quic/core/quic_server_id_test.cc +2 -2
  296. package/third_party/quiche/quiche/quic/core/quic_session.cc +4 -4
  297. package/third_party/quiche/quiche/quic/core/quic_session.h +1 -1
  298. package/third_party/quiche/quiche/quic/core/quic_session_test.cc +21 -1
  299. package/third_party/quiche/quiche/quic/core/quic_stream.cc +4 -7
  300. package/third_party/quiche/quiche/quic/core/quic_stream_test.cc +2 -4
  301. package/third_party/quiche/quiche/quic/core/quic_trace_visitor_test.cc +2 -2
  302. package/third_party/quiche/quiche/quic/core/quic_types.h +3 -8
  303. package/third_party/quiche/quiche/quic/core/quic_udp_socket_posix.cc +5 -4
  304. package/third_party/quiche/quiche/quic/core/quic_unacked_packet_map_test.cc +1 -1
  305. package/third_party/quiche/quiche/quic/core/quic_utils.cc +1 -1
  306. package/third_party/quiche/quiche/quic/core/quic_utils.h +2 -2
  307. package/third_party/quiche/quiche/quic/core/quic_versions_test.cc +0 -1
  308. package/third_party/quiche/quiche/quic/core/tls_client_handshaker.cc +13 -0
  309. package/third_party/quiche/quiche/quic/core/tls_client_handshaker.h +2 -0
  310. package/third_party/quiche/quiche/quic/core/tls_server_handshaker.cc +17 -3
  311. package/third_party/quiche/quiche/quic/core/tls_server_handshaker.h +3 -1
  312. package/third_party/quiche/quiche/quic/core/uber_received_packet_manager_test.cc +18 -10
  313. package/third_party/quiche/quiche/quic/masque/masque_client_bin.cc +6 -4
  314. package/third_party/quiche/quiche/quic/masque/masque_client_session.cc +23 -7
  315. package/third_party/quiche/quiche/quic/masque/masque_client_session.h +1 -1
  316. package/third_party/quiche/quiche/quic/masque/masque_server_backend.cc +13 -0
  317. package/third_party/quiche/quiche/quic/masque/masque_server_backend.h +2 -0
  318. package/third_party/quiche/quiche/quic/masque/masque_server_bin.cc +5 -4
  319. package/third_party/quiche/quiche/quic/masque/masque_server_session.cc +30 -40
  320. package/third_party/quiche/quiche/quic/masque/masque_server_session.h +1 -1
  321. package/third_party/quiche/quiche/quic/platform/api/quic_export.h +4 -4
  322. package/third_party/quiche/quiche/quic/platform/api/quic_flags.h +0 -1
  323. package/third_party/quiche/quiche/quic/platform/api/quic_logging.h +0 -6
  324. package/third_party/quiche/quiche/quic/platform/api/quic_test.h +6 -5
  325. package/third_party/quiche/quiche/quic/qbone/bonnet/icmp_reachable_test.cc +2 -2
  326. package/third_party/quiche/quiche/quic/qbone/bonnet/mock_qbone_tunnel.h +2 -0
  327. package/third_party/quiche/quiche/quic/qbone/bonnet/qbone_tunnel_interface.h +2 -0
  328. package/third_party/quiche/quiche/quic/qbone/bonnet/tun_device_controller_test.cc +2 -2
  329. package/third_party/quiche/quiche/quic/qbone/bonnet/tun_device_packet_exchanger_test.cc +2 -2
  330. package/third_party/quiche/quiche/quic/qbone/bonnet/tun_device_test.cc +2 -2
  331. package/third_party/quiche/quiche/quic/qbone/platform/netlink_test.cc +2 -2
  332. package/third_party/quiche/quiche/quic/qbone/platform/tcp_packet.cc +5 -4
  333. package/third_party/quiche/quiche/quic/qbone/qbone_client_session.cc +4 -2
  334. package/third_party/quiche/quiche/quic/qbone/qbone_packet_processor.cc +2 -1
  335. package/third_party/quiche/quiche/quic/qbone/qbone_packet_processor_test.cc +2 -2
  336. package/third_party/quiche/quiche/quic/qbone/qbone_server_session.cc +4 -2
  337. package/third_party/quiche/quiche/quic/qbone/qbone_session_base.cc +3 -2
  338. package/third_party/quiche/quiche/quic/qbone/qbone_stream.cc +4 -4
  339. package/third_party/quiche/quiche/quic/test_tools/quic_connection_peer.cc +1 -1
  340. package/third_party/quiche/quiche/quic/test_tools/quic_http_response_cache_data/test.example.com/index.html +63 -0
  341. package/third_party/quiche/quiche/quic/test_tools/quic_http_response_cache_data/test.example.com/map.html +65 -0
  342. package/third_party/quiche/quiche/quic/test_tools/quic_test_utils.cc +4 -3
  343. package/third_party/quiche/quiche/quic/test_tools/quic_test_utils.h +18 -1
  344. package/third_party/quiche/quiche/quic/test_tools/simulator/quic_endpoint_test.cc +1 -1
  345. package/third_party/quiche/quiche/quic/test_tools/simulator/simulator_test.cc +1 -1
  346. package/third_party/quiche/quiche/quic/test_tools/test_ticket_crypter.cc +1 -1
  347. package/third_party/quiche/quiche/quic/test_tools/test_ticket_crypter.h +2 -2
  348. package/third_party/quiche/quiche/quic/{core/crypto → tools}/crypto_message_printer_bin.cc +0 -0
  349. package/third_party/quiche/quiche/quic/{core/qpack → tools}/qpack_offline_decoder_bin.cc +0 -0
  350. package/third_party/quiche/quiche/quic/tools/quic_client_interop_test_bin.cc +4 -3
  351. package/third_party/quiche/quiche/quic/tools/quic_memory_cache_backend_test.cc +3 -31
  352. package/third_party/quiche/quiche/quic/tools/quic_packet_printer_bin.cc +2 -2
  353. package/third_party/quiche/quiche/quic/tools/quic_simple_server_session.h +1 -1
  354. package/third_party/quiche/quiche/quic/tools/quic_simple_server_session_test.cc +1 -1
  355. package/third_party/quiche/quiche/quic/tools/quic_toy_client.cc +52 -38
  356. package/third_party/quiche/quiche/quic/tools/quic_toy_server.cc +10 -7
  357. package/third_party/quiche/quiche/quic/tools/simple_ticket_crypter.cc +1 -1
  358. package/third_party/quiche/quiche/quic/tools/simple_ticket_crypter.h +1 -1
  359. package/third_party/quiche/quiche/quic/tools/web_transport_test_visitors.h +3 -2
  360. package/third_party/quiche/quiche/spdy/core/array_output_buffer.h +1 -1
  361. package/third_party/quiche/quiche/spdy/core/hpack/hpack_decoder_adapter_test.cc +1 -1
  362. package/third_party/quiche/quiche/spdy/core/hpack/hpack_encoder_test.cc +2 -1
  363. package/third_party/quiche/quiche/spdy/core/hpack/hpack_header_table_test.cc +1 -1
  364. package/third_party/quiche/quiche/spdy/core/hpack/hpack_round_trip_test.cc +2 -1
  365. package/third_party/quiche/quiche/spdy/core/hpack/hpack_static_table_test.cc +1 -1
  366. package/third_party/quiche/quiche/spdy/core/http2_frame_decoder_adapter.cc +8 -6
  367. package/third_party/quiche/quiche/spdy/core/http2_frame_decoder_adapter.h +17 -6
  368. package/third_party/quiche/quiche/spdy/core/metadata_extension.cc +1 -1
  369. package/third_party/quiche/quiche/spdy/core/metadata_extension_test.cc +1 -1
  370. package/third_party/quiche/quiche/spdy/core/spdy_framer_test.cc +21 -17
  371. package/third_party/quiche/quiche/spdy/core/spdy_intrusive_list_test.cc +3 -3
  372. package/third_party/quiche/quiche/spdy/core/spdy_no_op_visitor.h +6 -4
  373. package/third_party/quiche/quiche/spdy/core/spdy_pinnable_buffer_piece_test.cc +1 -1
  374. package/third_party/quiche/quiche/spdy/core/spdy_prefixed_buffer_reader_test.cc +1 -1
  375. package/third_party/quiche/quiche/spdy/core/spdy_protocol_test.cc +1 -1
  376. package/third_party/quiche/quiche/spdy/test_tools/mock_spdy_framer_visitor.h +5 -4
  377. package/third_party/boringssl/src/util/bot/cmake-win32.zip.sha1 +0 -1
  378. package/third_party/quiche/quiche/common/platform/api/quiche_mock_log.h +0 -18
  379. package/third_party/quiche/quiche/common/platform/api/quiche_test_helpers.h +0 -8
  380. package/third_party/quiche/quiche/quic/platform/api/quic_mock_log.h +0 -19
  381. package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_dispatcher.cc +0 -51
  382. package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_dispatcher.h +0 -41
  383. package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_session.cc +0 -168
  384. package/third_party/quiche/quiche/quic/tools/quic_transport_simple_server_session.h +0 -78
@@ -28,7 +28,7 @@ const QuicByteCount kDefaultBdp = kDefaultBandwidth * kDefaultPropagationDelay;
28
28
 
29
29
  // A simple test harness where all hosts are connected to a switch with
30
30
  // identical links.
31
- class QuicEndpointTest : public QuicTest {
31
+ class QuicEndpointTest : public quic::test::QuicTest {
32
32
  public:
33
33
  QuicEndpointTest()
34
34
  : simulator_(), switch_(&simulator_, "Switch", 8, kDefaultBdp * 2) {}
@@ -47,7 +47,7 @@ class Counter : public Actor {
47
47
  QuicTime::Delta period_;
48
48
  };
49
49
 
50
- class SimulatorTest : public QuicTest {};
50
+ class SimulatorTest : public quic::test::QuicTest {};
51
51
 
52
52
  // Test that the basic event handling works, and that Actors can be created and
53
53
  // destroyed mid-simulation.
@@ -55,7 +55,7 @@ std::vector<uint8_t> TestTicketCrypter::Decrypt(absl::string_view in) {
55
55
 
56
56
  void TestTicketCrypter::Decrypt(
57
57
  absl::string_view in,
58
- std::unique_ptr<ProofSource::DecryptCallback> callback) {
58
+ std::shared_ptr<ProofSource::DecryptCallback> callback) {
59
59
  auto decrypted_ticket = Decrypt(in);
60
60
  if (run_async_) {
61
61
  pending_callbacks_.push_back({std::move(callback), decrypted_ticket});
@@ -22,7 +22,7 @@ class TestTicketCrypter : public ProofSource::TicketCrypter {
22
22
  std::vector<uint8_t> Encrypt(absl::string_view in,
23
23
  absl::string_view encryption_key) override;
24
24
  void Decrypt(absl::string_view in,
25
- std::unique_ptr<ProofSource::DecryptCallback> callback) override;
25
+ std::shared_ptr<ProofSource::DecryptCallback> callback) override;
26
26
 
27
27
  void SetRunCallbacksAsync(bool run_async);
28
28
  size_t NumPendingCallbacks();
@@ -36,7 +36,7 @@ class TestTicketCrypter : public ProofSource::TicketCrypter {
36
36
  std::vector<uint8_t> Decrypt(absl::string_view in);
37
37
 
38
38
  struct PendingCallback {
39
- std::unique_ptr<ProofSource::DecryptCallback> callback;
39
+ std::shared_ptr<ProofSource::DecryptCallback> callback;
40
40
  std::vector<uint8_t> decrypted_ticket;
41
41
  };
42
42
 
@@ -395,9 +395,9 @@ int main(int argc, char* argv[]) {
395
395
  quiche::QuichePrintCommandLineFlagHelp(usage);
396
396
  exit(1);
397
397
  }
398
- std::string dns_host = GetQuicFlag(FLAGS_host);
398
+ std::string dns_host = quiche::GetQuicheCommandLineFlag(FLAGS_host);
399
399
  std::string url_host = "";
400
- int port = GetQuicFlag(FLAGS_port);
400
+ int port = quiche::GetQuicheCommandLineFlag(FLAGS_port);
401
401
 
402
402
  if (!args.empty()) {
403
403
  quic::QuicUrl url(args[0], "https");
@@ -423,7 +423,8 @@ int main(int argc, char* argv[]) {
423
423
  // Pick QUIC version to use.
424
424
  quic::QuicVersionInitializeSupportForIetfDraft();
425
425
  quic::ParsedQuicVersion version = quic::UnsupportedQuicVersion();
426
- std::string quic_version_string = GetQuicFlag(FLAGS_quic_version);
426
+ std::string quic_version_string =
427
+ quiche::GetQuicheCommandLineFlag(FLAGS_quic_version);
427
428
  if (!quic_version_string.empty()) {
428
429
  version = quic::ParseQuicVersionString(quic_version_string);
429
430
  } else {
@@ -31,7 +31,9 @@ class QuicMemoryCacheBackendTest : public QuicTest {
31
31
  (*headers)[":scheme"] = "https";
32
32
  }
33
33
 
34
- std::string CacheDirectory() { return QuicheGetTestMemoryCachePath(); }
34
+ std::string CacheDirectory() {
35
+ return quiche::test::QuicheGetTestMemoryCachePath();
36
+ }
35
37
 
36
38
  QuicMemoryCacheBackend cache_;
37
39
  };
@@ -96,36 +98,6 @@ TEST_F(QuicMemoryCacheBackendTest, MAYBE_ReadsCacheDir) {
96
98
  EXPECT_LT(0U, response->body().length());
97
99
  }
98
100
 
99
- // TODO(crbug.com/1249712) This test is failing on iOS.
100
- #if defined(OS_IOS)
101
- #define MAYBE_ReadsCacheDirWithServerPushResource \
102
- DISABLED_ReadsCacheDirWithServerPushResource
103
- #else
104
- #define MAYBE_ReadsCacheDirWithServerPushResource \
105
- ReadsCacheDirWithServerPushResource
106
- #endif
107
- TEST_F(QuicMemoryCacheBackendTest, MAYBE_ReadsCacheDirWithServerPushResource) {
108
- cache_.InitializeBackend(CacheDirectory() + "_with_push");
109
- std::list<ServerPushInfo> resources =
110
- cache_.GetServerPushResources("test.example.com/");
111
- ASSERT_EQ(1UL, resources.size());
112
- }
113
-
114
- // TODO(crbug.com/1249712) This test is failing on iOS.
115
- #if defined(OS_IOS)
116
- #define MAYBE_ReadsCacheDirWithServerPushResources \
117
- DISABLED_ReadsCacheDirWithServerPushResources
118
- #else
119
- #define MAYBE_ReadsCacheDirWithServerPushResources \
120
- ReadsCacheDirWithServerPushResources
121
- #endif
122
- TEST_F(QuicMemoryCacheBackendTest, MAYBE_ReadsCacheDirWithServerPushResources) {
123
- cache_.InitializeBackend(CacheDirectory() + "_with_push");
124
- std::list<ServerPushInfo> resources =
125
- cache_.GetServerPushResources("test.example.com/index2.html");
126
- ASSERT_EQ(2UL, resources.size());
127
- }
128
-
129
101
  // TODO(crbug.com/1249712) This test is failing on iOS.
130
102
  #if defined(OS_IOS)
131
103
  #define MAYBE_UsesOriginalUrl DISABLED_UsesOriginalUrl
@@ -271,8 +271,8 @@ int main(int argc, char* argv[]) {
271
271
  quic::QuicTime start(quic::QuicTime::Zero());
272
272
  quic::QuicFramer framer(versions, start, perspective,
273
273
  quic::kQuicDefaultConnectionIdLength);
274
- const quic::ParsedQuicVersion& version =
275
- quic::ParseQuicVersionString(GetQuicFlag(FLAGS_quic_version));
274
+ const quic::ParsedQuicVersion& version = quic::ParseQuicVersionString(
275
+ quiche::GetQuicheCommandLineFlag(FLAGS_quic_version));
276
276
  if (version != quic::ParsedQuicVersion::Unsupported()) {
277
277
  framer.set_version(version);
278
278
  }
@@ -97,7 +97,7 @@ class QuicSimpleServerSession : public QuicServerSessionBase {
97
97
  }
98
98
  HttpDatagramSupport LocalHttpDatagramSupport() override {
99
99
  if (ShouldNegotiateWebTransport()) {
100
- return HttpDatagramSupport::kDraft00And04;
100
+ return HttpDatagramSupport::kDraft04;
101
101
  }
102
102
  return QuicServerSessionBase::LocalHttpDatagramSupport();
103
103
  }
@@ -179,7 +179,7 @@ class MockQuicSimpleServerSession : public QuicSimpleServerSession {
179
179
  const spdy::Http2HeaderBlock& headers),
180
180
  ());
181
181
 
182
- MOCK_METHOD(void, SendBlocked, (QuicStreamId), (override));
182
+ MOCK_METHOD(void, SendBlocked, (QuicStreamId, QuicStreamOffset), (override));
183
183
  MOCK_METHOD(bool, WriteControlFrame,
184
184
  (const QuicFrame& frame, TransmissionType type), (override));
185
185
  };
@@ -230,18 +230,18 @@ QuicToyClient::QuicToyClient(ClientFactory* client_factory)
230
230
  int QuicToyClient::SendRequestsAndPrintResponses(
231
231
  std::vector<std::string> urls) {
232
232
  QuicUrl url(urls[0], "https");
233
- std::string host = GetQuicFlag(FLAGS_host);
233
+ std::string host = quiche::GetQuicheCommandLineFlag(FLAGS_host);
234
234
  if (host.empty()) {
235
235
  host = url.host();
236
236
  }
237
- int port = GetQuicFlag(FLAGS_port);
237
+ int port = quiche::GetQuicheCommandLineFlag(FLAGS_port);
238
238
  if (port == 0) {
239
239
  port = url.port();
240
240
  }
241
241
 
242
242
  quic::ParsedQuicVersionVector versions = quic::CurrentSupportedVersions();
243
243
 
244
- if (GetQuicFlag(FLAGS_quic_ietf_draft)) {
244
+ if (quiche::GetQuicheCommandLineFlag(FLAGS_quic_ietf_draft)) {
245
245
  quic::QuicVersionInitializeSupportForIetfDraft();
246
246
  versions = {};
247
247
  for (const ParsedQuicVersion& version : AllSupportedVersions()) {
@@ -252,7 +252,8 @@ int QuicToyClient::SendRequestsAndPrintResponses(
252
252
  }
253
253
  }
254
254
 
255
- std::string quic_version_string = GetQuicFlag(FLAGS_quic_version);
255
+ std::string quic_version_string =
256
+ quiche::GetQuicheCommandLineFlag(FLAGS_quic_version);
256
257
  if (!quic_version_string.empty()) {
257
258
  versions = quic::ParseQuicVersionVectorString(quic_version_string);
258
259
  }
@@ -266,36 +267,40 @@ int QuicToyClient::SendRequestsAndPrintResponses(
266
267
  quic::QuicEnableVersion(version);
267
268
  }
268
269
 
269
- if (GetQuicFlag(FLAGS_force_version_negotiation)) {
270
+ if (quiche::GetQuicheCommandLineFlag(FLAGS_force_version_negotiation)) {
270
271
  versions.insert(versions.begin(),
271
272
  quic::QuicVersionReservedForNegotiation());
272
273
  }
273
274
 
274
- const int32_t num_requests(GetQuicFlag(FLAGS_num_requests));
275
+ const int32_t num_requests(
276
+ quiche::GetQuicheCommandLineFlag(FLAGS_num_requests));
275
277
  std::unique_ptr<quic::ProofVerifier> proof_verifier;
276
- if (GetQuicFlag(FLAGS_disable_certificate_verification)) {
278
+ if (quiche::GetQuicheCommandLineFlag(
279
+ FLAGS_disable_certificate_verification)) {
277
280
  proof_verifier = std::make_unique<FakeProofVerifier>();
278
281
  } else {
279
282
  proof_verifier = quic::CreateDefaultProofVerifier(url.host());
280
283
  }
281
284
  std::unique_ptr<quic::SessionCache> session_cache;
282
- if (num_requests > 1 && GetQuicFlag(FLAGS_one_connection_per_request)) {
285
+ if (num_requests > 1 &&
286
+ quiche::GetQuicheCommandLineFlag(FLAGS_one_connection_per_request)) {
283
287
  session_cache = std::make_unique<QuicClientSessionCache>();
284
288
  }
285
289
 
286
290
  QuicConfig config;
287
- std::string connection_options_string = GetQuicFlag(FLAGS_connection_options);
291
+ std::string connection_options_string =
292
+ quiche::GetQuicheCommandLineFlag(FLAGS_connection_options);
288
293
  if (!connection_options_string.empty()) {
289
294
  config.SetConnectionOptionsToSend(
290
295
  ParseQuicTagVector(connection_options_string));
291
296
  }
292
297
  std::string client_connection_options_string =
293
- GetQuicFlag(FLAGS_client_connection_options);
298
+ quiche::GetQuicheCommandLineFlag(FLAGS_client_connection_options);
294
299
  if (!client_connection_options_string.empty()) {
295
300
  config.SetClientConnectionOptions(
296
301
  ParseQuicTagVector(client_connection_options_string));
297
302
  }
298
- if (GetQuicFlag(FLAGS_multi_packet_chlo)) {
303
+ if (quiche::GetQuicheCommandLineFlag(FLAGS_multi_packet_chlo)) {
299
304
  // Make the ClientHello span multiple packets by adding a custom transport
300
305
  // parameter.
301
306
  constexpr auto kCustomParameter =
@@ -304,13 +309,16 @@ int QuicToyClient::SendRequestsAndPrintResponses(
304
309
  config.custom_transport_parameters_to_send()[kCustomParameter] =
305
310
  custom_value;
306
311
  }
307
- config.set_max_time_before_crypto_handshake(QuicTime::Delta::FromMilliseconds(
308
- GetQuicFlag(FLAGS_max_time_before_crypto_handshake_ms)));
312
+ config.set_max_time_before_crypto_handshake(
313
+ QuicTime::Delta::FromMilliseconds(quiche::GetQuicheCommandLineFlag(
314
+ FLAGS_max_time_before_crypto_handshake_ms)));
309
315
 
310
316
  int address_family_for_lookup = AF_UNSPEC;
311
- if (GetQuicFlag(FLAGS_ip_version_for_host_lookup) == "4") {
317
+ if (quiche::GetQuicheCommandLineFlag(FLAGS_ip_version_for_host_lookup) ==
318
+ "4") {
312
319
  address_family_for_lookup = AF_INET;
313
- } else if (GetQuicFlag(FLAGS_ip_version_for_host_lookup) == "6") {
320
+ } else if (quiche::GetQuicheCommandLineFlag(
321
+ FLAGS_ip_version_for_host_lookup) == "6") {
314
322
  address_family_for_lookup = AF_INET6;
315
323
  }
316
324
 
@@ -324,11 +332,13 @@ int QuicToyClient::SendRequestsAndPrintResponses(
324
332
  return 1;
325
333
  }
326
334
 
327
- if (!GetQuicFlag(FLAGS_default_client_cert).empty() &&
328
- !GetQuicFlag(FLAGS_default_client_cert_key).empty()) {
335
+ if (!quiche::GetQuicheCommandLineFlag(FLAGS_default_client_cert).empty() &&
336
+ !quiche::GetQuicheCommandLineFlag(FLAGS_default_client_cert_key)
337
+ .empty()) {
329
338
  std::unique_ptr<ClientProofSource> proof_source =
330
- CreateTestClientProofSource(GetQuicFlag(FLAGS_default_client_cert),
331
- GetQuicFlag(FLAGS_default_client_cert_key));
339
+ CreateTestClientProofSource(
340
+ quiche::GetQuicheCommandLineFlag(FLAGS_default_client_cert),
341
+ quiche::GetQuicheCommandLineFlag(FLAGS_default_client_cert_key));
332
342
  if (proof_source == nullptr) {
333
343
  std::cerr << "Failed to create client proof source." << std::endl;
334
344
  return 1;
@@ -336,22 +346,23 @@ int QuicToyClient::SendRequestsAndPrintResponses(
336
346
  client->crypto_config()->set_proof_source(std::move(proof_source));
337
347
  }
338
348
 
339
- int32_t initial_mtu = GetQuicFlag(FLAGS_initial_mtu);
349
+ int32_t initial_mtu = quiche::GetQuicheCommandLineFlag(FLAGS_initial_mtu);
340
350
  client->set_initial_max_packet_length(
341
351
  initial_mtu != 0 ? initial_mtu : quic::kDefaultMaxPacketSize);
342
- client->set_drop_response_body(GetQuicFlag(FLAGS_drop_response_body));
352
+ client->set_drop_response_body(
353
+ quiche::GetQuicheCommandLineFlag(FLAGS_drop_response_body));
343
354
  const int32_t server_connection_id_length =
344
- GetQuicFlag(FLAGS_server_connection_id_length);
355
+ quiche::GetQuicheCommandLineFlag(FLAGS_server_connection_id_length);
345
356
  if (server_connection_id_length >= 0) {
346
357
  client->set_server_connection_id_length(server_connection_id_length);
347
358
  }
348
359
  const int32_t client_connection_id_length =
349
- GetQuicFlag(FLAGS_client_connection_id_length);
360
+ quiche::GetQuicheCommandLineFlag(FLAGS_client_connection_id_length);
350
361
  if (client_connection_id_length >= 0) {
351
362
  client->set_client_connection_id_length(client_connection_id_length);
352
363
  }
353
364
  const size_t max_inbound_header_list_size =
354
- GetQuicFlag(FLAGS_max_inbound_header_list_size);
365
+ quiche::GetQuicheCommandLineFlag(FLAGS_max_inbound_header_list_size);
355
366
  if (max_inbound_header_list_size > 0) {
356
367
  client->set_max_inbound_header_list_size(max_inbound_header_list_size);
357
368
  }
@@ -366,7 +377,8 @@ int QuicToyClient::SendRequestsAndPrintResponses(
366
377
  << ". " << client->session()->error_details() << std::endl;
367
378
  // 0: No error.
368
379
  // 20: Failed to connect due to QUIC_INVALID_VERSION.
369
- return GetQuicFlag(FLAGS_version_mismatch_ok) ? 0 : 20;
380
+ return quiche::GetQuicheCommandLineFlag(FLAGS_version_mismatch_ok) ? 0
381
+ : 20;
370
382
  }
371
383
  std::cerr << "Failed to connect to " << host << ":" << port << ". "
372
384
  << quic::QuicErrorCodeToString(error) << " "
@@ -376,11 +388,12 @@ int QuicToyClient::SendRequestsAndPrintResponses(
376
388
  std::cerr << "Connected to " << host << ":" << port << std::endl;
377
389
 
378
390
  // Construct the string body from flags, if provided.
379
- std::string body = GetQuicFlag(FLAGS_body);
380
- if (!GetQuicFlag(FLAGS_body_hex).empty()) {
381
- QUICHE_DCHECK(GetQuicFlag(FLAGS_body).empty())
391
+ std::string body = quiche::GetQuicheCommandLineFlag(FLAGS_body);
392
+ if (!quiche::GetQuicheCommandLineFlag(FLAGS_body_hex).empty()) {
393
+ QUICHE_DCHECK(quiche::GetQuicheCommandLineFlag(FLAGS_body).empty())
382
394
  << "Only set one of --body and --body_hex.";
383
- body = absl::HexStringToBytes(GetQuicFlag(FLAGS_body_hex));
395
+ body = absl::HexStringToBytes(
396
+ quiche::GetQuicheCommandLineFlag(FLAGS_body_hex));
384
397
  }
385
398
 
386
399
  // Construct a GET or POST request for supplied URL.
@@ -391,7 +404,7 @@ int QuicToyClient::SendRequestsAndPrintResponses(
391
404
  header_block[":path"] = url.PathParamsQuery();
392
405
 
393
406
  // Append any additional headers supplied on the command line.
394
- const std::string headers = GetQuicFlag(FLAGS_headers);
407
+ const std::string headers = quiche::GetQuicheCommandLineFlag(FLAGS_headers);
395
408
  for (absl::string_view sp : absl::StrSplit(headers, ';')) {
396
409
  QuicheTextUtils::RemoveLeadingAndTrailingWhitespace(&sp);
397
410
  if (sp.empty()) {
@@ -412,14 +425,14 @@ int QuicToyClient::SendRequestsAndPrintResponses(
412
425
  client->SendRequestAndWaitForResponse(header_block, body, /*fin=*/true);
413
426
 
414
427
  // Print request and response details.
415
- if (!GetQuicFlag(FLAGS_quiet)) {
428
+ if (!quiche::GetQuicheCommandLineFlag(FLAGS_quiet)) {
416
429
  std::cout << "Request:" << std::endl;
417
430
  std::cout << "headers:" << header_block.DebugString();
418
- if (!GetQuicFlag(FLAGS_body_hex).empty()) {
431
+ if (!quiche::GetQuicheCommandLineFlag(FLAGS_body_hex).empty()) {
419
432
  // Print the user provided hex, rather than binary body.
420
433
  std::cout << "body:\n"
421
- << QuicheTextUtils::HexDump(
422
- absl::HexStringToBytes(GetQuicFlag(FLAGS_body_hex)))
434
+ << QuicheTextUtils::HexDump(absl::HexStringToBytes(
435
+ quiche::GetQuicheCommandLineFlag(FLAGS_body_hex)))
423
436
  << std::endl;
424
437
  } else {
425
438
  std::cout << "body: " << body << std::endl;
@@ -436,7 +449,7 @@ int QuicToyClient::SendRequestsAndPrintResponses(
436
449
  std::cout << "headers: " << client->latest_response_headers()
437
450
  << std::endl;
438
451
  std::string response_body = client->latest_response_body();
439
- if (!GetQuicFlag(FLAGS_body_hex).empty()) {
452
+ if (!quiche::GetQuicheCommandLineFlag(FLAGS_body_hex).empty()) {
440
453
  // Assume response is binary data.
441
454
  std::cout << "body:\n"
442
455
  << QuicheTextUtils::HexDump(response_body) << std::endl;
@@ -458,7 +471,7 @@ int QuicToyClient::SendRequestsAndPrintResponses(
458
471
  if (response_code >= 200 && response_code < 300) {
459
472
  std::cout << "Request succeeded (" << response_code << ")." << std::endl;
460
473
  } else if (response_code >= 300 && response_code < 400) {
461
- if (GetQuicFlag(FLAGS_redirect_is_success)) {
474
+ if (quiche::GetQuicheCommandLineFlag(FLAGS_redirect_is_success)) {
462
475
  std::cout << "Request succeeded (redirect " << response_code << ")."
463
476
  << std::endl;
464
477
  } else {
@@ -472,7 +485,7 @@ int QuicToyClient::SendRequestsAndPrintResponses(
472
485
  }
473
486
 
474
487
  if (i + 1 < num_requests) { // There are more requests to perform.
475
- if (GetQuicFlag(FLAGS_one_connection_per_request)) {
488
+ if (quiche::GetQuicheCommandLineFlag(FLAGS_one_connection_per_request)) {
476
489
  std::cout << "Disconnecting client between requests." << std::endl;
477
490
  client->Disconnect();
478
491
  if (!client->Initialize()) {
@@ -485,7 +498,8 @@ int QuicToyClient::SendRequestsAndPrintResponses(
485
498
  << std::endl;
486
499
  return 1;
487
500
  }
488
- } else if (!GetQuicFlag(FLAGS_disable_port_changes)) {
501
+ } else if (!quiche::GetQuicheCommandLineFlag(
502
+ FLAGS_disable_port_changes)) {
489
503
  // Change the ephemeral port.
490
504
  if (!client->ChangeEphemeralPort()) {
491
505
  std::cerr << "Failed to change ephemeral port." << std::endl;
@@ -45,14 +45,15 @@ namespace quic {
45
45
  std::unique_ptr<quic::QuicSimpleServerBackend>
46
46
  QuicToyServer::MemoryCacheBackendFactory::CreateBackend() {
47
47
  auto memory_cache_backend = std::make_unique<QuicMemoryCacheBackend>();
48
- if (GetQuicFlag(FLAGS_generate_dynamic_responses)) {
48
+ if (quiche::GetQuicheCommandLineFlag(FLAGS_generate_dynamic_responses)) {
49
49
  memory_cache_backend->GenerateDynamicResponses();
50
50
  }
51
- if (!GetQuicFlag(FLAGS_quic_response_cache_dir).empty()) {
51
+ if (!quiche::GetQuicheCommandLineFlag(FLAGS_quic_response_cache_dir)
52
+ .empty()) {
52
53
  memory_cache_backend->InitializeBackend(
53
- GetQuicFlag(FLAGS_quic_response_cache_dir));
54
+ quiche::GetQuicheCommandLineFlag(FLAGS_quic_response_cache_dir));
54
55
  }
55
- if (GetQuicFlag(FLAGS_enable_webtransport)) {
56
+ if (quiche::GetQuicheCommandLineFlag(FLAGS_enable_webtransport)) {
56
57
  memory_cache_backend->EnableWebTransport();
57
58
  }
58
59
  return memory_cache_backend;
@@ -64,7 +65,7 @@ QuicToyServer::QuicToyServer(BackendFactory* backend_factory,
64
65
 
65
66
  int QuicToyServer::Start() {
66
67
  ParsedQuicVersionVector supported_versions;
67
- if (GetQuicFlag(FLAGS_quic_ietf_draft)) {
68
+ if (quiche::GetQuicheCommandLineFlag(FLAGS_quic_ietf_draft)) {
68
69
  QuicVersionInitializeSupportForIetfDraft();
69
70
  for (const ParsedQuicVersion& version : AllSupportedVersions()) {
70
71
  // Add all versions that supports IETF QUIC.
@@ -76,7 +77,8 @@ int QuicToyServer::Start() {
76
77
  } else {
77
78
  supported_versions = AllSupportedVersions();
78
79
  }
79
- std::string versions_string = GetQuicFlag(FLAGS_quic_versions);
80
+ std::string versions_string =
81
+ quiche::GetQuicheCommandLineFlag(FLAGS_quic_versions);
80
82
  if (!versions_string.empty()) {
81
83
  supported_versions = ParseQuicVersionVectorString(versions_string);
82
84
  }
@@ -92,7 +94,8 @@ int QuicToyServer::Start() {
92
94
  backend.get(), std::move(proof_source), supported_versions);
93
95
 
94
96
  if (!server->CreateUDPSocketAndListen(quic::QuicSocketAddress(
95
- quic::QuicIpAddress::Any6(), GetQuicFlag(FLAGS_port)))) {
97
+ quic::QuicIpAddress::Any6(),
98
+ quiche::GetQuicheCommandLineFlag(FLAGS_port)))) {
96
99
  return 1;
97
100
  }
98
101
 
@@ -87,7 +87,7 @@ std::vector<uint8_t> SimpleTicketCrypter::Decrypt(absl::string_view in) {
87
87
 
88
88
  void SimpleTicketCrypter::Decrypt(
89
89
  absl::string_view in,
90
- std::unique_ptr<quic::ProofSource::DecryptCallback> callback) {
90
+ std::shared_ptr<quic::ProofSource::DecryptCallback> callback) {
91
91
  callback->Run(Decrypt(in));
92
92
  }
93
93
 
@@ -28,7 +28,7 @@ class QUIC_NO_EXPORT SimpleTicketCrypter
28
28
  absl::string_view encryption_key) override;
29
29
  void Decrypt(
30
30
  absl::string_view in,
31
- std::unique_ptr<quic::ProofSource::DecryptCallback> callback) override;
31
+ std::shared_ptr<quic::ProofSource::DecryptCallback> callback) override;
32
32
 
33
33
  private:
34
34
  std::vector<uint8_t> Decrypt(absl::string_view in);
@@ -9,6 +9,7 @@
9
9
 
10
10
  #include "quiche/quic/core/web_transport_interface.h"
11
11
  #include "quiche/quic/platform/api/quic_logging.h"
12
+ #include "quiche/common/platform/api/quiche_logging.h"
12
13
  #include "quiche/common/platform/api/quiche_mem_slice.h"
13
14
  #include "quiche/common/quiche_circular_deque.h"
14
15
  #include "quiche/common/simple_buffer_allocator.h"
@@ -123,7 +124,7 @@ class WebTransportUnidirectionalEchoReadVisitor
123
124
  }
124
125
  }
125
126
 
126
- void OnCanWrite() override { QUIC_NOTREACHED(); }
127
+ void OnCanWrite() override { QUICHE_NOTREACHED(); }
127
128
 
128
129
  void OnResetStreamReceived(WebTransportStreamError /*error*/) override {}
129
130
  void OnStopSendingReceived(WebTransportStreamError /*error*/) override {}
@@ -143,7 +144,7 @@ class WebTransportUnidirectionalEchoWriteVisitor
143
144
  const std::string& data)
144
145
  : stream_(stream), data_(data) {}
145
146
 
146
- void OnCanRead() override { QUIC_NOTREACHED(); }
147
+ void OnCanRead() override { QUICHE_NOTREACHED(); }
147
148
  void OnCanWrite() override {
148
149
  if (data_.empty()) {
149
150
  return;
@@ -12,7 +12,7 @@
12
12
 
13
13
  namespace spdy {
14
14
 
15
- class QUICHE_NO_EXPORT ArrayOutputBuffer : public ZeroCopyOutputBuffer {
15
+ class QUICHE_EXPORT_PRIVATE ArrayOutputBuffer : public ZeroCopyOutputBuffer {
16
16
  public:
17
17
  // |buffer| is pointed to the output to write to, and |size| is the capacity
18
18
  // of the output.
@@ -112,7 +112,7 @@ const char* kCookieKey = "cookie";
112
112
  enum StartChoice { START_WITH_HANDLER, START_WITHOUT_HANDLER, NO_START };
113
113
 
114
114
  class HpackDecoderAdapterTest
115
- : public QuicheTestWithParam<std::tuple<StartChoice, bool>> {
115
+ : public quiche::test::QuicheTestWithParam<std::tuple<StartChoice, bool>> {
116
116
  protected:
117
117
  HpackDecoderAdapterTest() : decoder_(), decoder_peer_(&decoder_) {}
118
118
 
@@ -127,7 +127,8 @@ enum EncodeStrategy {
127
127
  kRepresentations,
128
128
  };
129
129
 
130
- class HpackEncoderTest : public QuicheTestWithParam<EncodeStrategy> {
130
+ class HpackEncoderTest
131
+ : public quiche::test::QuicheTestWithParam<EncodeStrategy> {
131
132
  protected:
132
133
  typedef test::HpackEncoderPeer::Representations Representations;
133
134
 
@@ -67,7 +67,7 @@ class HpackHeaderTablePeer {
67
67
 
68
68
  namespace {
69
69
 
70
- class HpackHeaderTableTest : public QuicheTest {
70
+ class HpackHeaderTableTest : public quiche::test::QuicheTest {
71
71
  protected:
72
72
  typedef std::vector<HpackEntry> HpackEntryVector;
73
73
 
@@ -22,7 +22,8 @@ namespace {
22
22
  // Supports testing with the input split at every byte boundary.
23
23
  enum InputSizeParam { ALL_INPUT, ONE_BYTE, ZERO_THEN_ONE_BYTE };
24
24
 
25
- class HpackRoundTripTest : public QuicheTestWithParam<InputSizeParam> {
25
+ class HpackRoundTripTest
26
+ : public quiche::test::QuicheTestWithParam<InputSizeParam> {
26
27
  protected:
27
28
  void SetUp() override {
28
29
  // Use a small table size to tickle eviction handling.
@@ -17,7 +17,7 @@ namespace test {
17
17
 
18
18
  namespace {
19
19
 
20
- class HpackStaticTableTest : public QuicheTest {
20
+ class HpackStaticTableTest : public quiche::test::QuicheTest {
21
21
  protected:
22
22
  HpackStaticTableTest() : table_() {}
23
23
 
@@ -436,7 +436,8 @@ void Http2DecoderAdapter::OnHeadersStart(const Http2FrameHeader& header) {
436
436
  }
437
437
  on_headers_called_ = true;
438
438
  ReportReceiveCompressedFrame(header);
439
- visitor()->OnHeaders(header.stream_id, kNotHasPriorityFields,
439
+ visitor()->OnHeaders(header.stream_id, header.payload_length,
440
+ kNotHasPriorityFields,
440
441
  0, // priority
441
442
  0, // parent_stream_id
442
443
  false, // exclusive
@@ -460,10 +461,10 @@ void Http2DecoderAdapter::OnHeadersPriority(
460
461
  << " priority:" << priority << " frame_header:" << frame_header_;
461
462
  return;
462
463
  }
463
- visitor()->OnHeaders(frame_header_.stream_id, kHasPriorityFields,
464
- priority.weight, priority.stream_dependency,
465
- priority.is_exclusive, frame_header_.IsEndStream(),
466
- frame_header_.IsEndHeaders());
464
+ visitor()->OnHeaders(
465
+ frame_header_.stream_id, frame_header_.payload_length, kHasPriorityFields,
466
+ priority.weight, priority.stream_dependency, priority.is_exclusive,
467
+ frame_header_.IsEndStream(), frame_header_.IsEndHeaders());
467
468
  CommonStartHpackBlock();
468
469
  }
469
470
 
@@ -505,7 +506,8 @@ void Http2DecoderAdapter::OnContinuationStart(const Http2FrameHeader& header) {
505
506
  frame_header_ = header;
506
507
  has_frame_header_ = true;
507
508
  ReportReceiveCompressedFrame(header);
508
- visitor()->OnContinuation(header.stream_id, header.IsEndHeaders());
509
+ visitor()->OnContinuation(header.stream_id, header.payload_length,
510
+ header.IsEndHeaders());
509
511
  }
510
512
  }
511
513
 
@@ -376,9 +376,12 @@ class QUICHE_EXPORT_PRIVATE SpdyFramerVisitorInterface {
376
376
  virtual void OnCommonHeader(SpdyStreamId /*stream_id*/, size_t /*length*/,
377
377
  uint8_t /*type*/, uint8_t /*flags*/) {}
378
378
 
379
- // Called when a data frame header is received. The frame's data
380
- // payload will be provided via subsequent calls to
381
- // OnStreamFrameData().
379
+ // Called when a data frame header is received. The frame's data payload will
380
+ // be provided via subsequent calls to OnStreamFrameData().
381
+ // |stream_id| The stream receiving data.
382
+ // |length| The length of the payload in this DATA frame. Includes the length
383
+ // of the data itself and potential padding.
384
+ // |fin| Whether the END_STREAM flag is set in the frame header.
382
385
  virtual void OnDataFrameHeader(SpdyStreamId stream_id, size_t length,
383
386
  bool fin) = 0;
384
387
 
@@ -444,6 +447,8 @@ class QUICHE_EXPORT_PRIVATE SpdyFramerVisitorInterface {
444
447
  // Called when a HEADERS frame is received.
445
448
  // Note that header block data is not included. See OnHeaderFrameStart().
446
449
  // |stream_id| The stream receiving the header.
450
+ // |payload_length| The length of the payload in this HEADERS frame. Includes
451
+ // the length of the encoded header block and potential padding.
447
452
  // |has_priority| Whether or not the headers frame included a priority value,
448
453
  // and stream dependency info.
449
454
  // |weight| If |has_priority| is true, then weight (in the range [1, 256])
@@ -452,10 +457,11 @@ class QUICHE_EXPORT_PRIVATE SpdyFramerVisitorInterface {
452
457
  // receiving stream, else 0.
453
458
  // |exclusive| If |has_priority| is true the exclusivity of dependence on the
454
459
  // parent stream, else false.
455
- // |fin| Whether FIN flag is set in frame headers.
460
+ // |fin| Whether the END_STREAM flag is set in the frame header.
456
461
  // |end| False if HEADERs frame is to be followed by a CONTINUATION frame,
457
462
  // or true if not.
458
- virtual void OnHeaders(SpdyStreamId stream_id, bool has_priority, int weight,
463
+ virtual void OnHeaders(SpdyStreamId stream_id, size_t payload_length,
464
+ bool has_priority, int weight,
459
465
  SpdyStreamId parent_stream_id, bool exclusive,
460
466
  bool fin, bool end) = 0;
461
467
 
@@ -479,7 +485,12 @@ class QUICHE_EXPORT_PRIVATE SpdyFramerVisitorInterface {
479
485
 
480
486
  // Called when a CONTINUATION frame is received.
481
487
  // Note that header block data is not included. See OnHeaderFrameStart().
482
- virtual void OnContinuation(SpdyStreamId stream_id, bool end) = 0;
488
+ // |stream_id| The stream receiving the CONTINUATION.
489
+ // |payload_length| The length of the payload in this CONTINUATION frame.
490
+ // |end| True if this CONTINUATION frame will not be followed by another
491
+ // CONTINUATION frame.
492
+ virtual void OnContinuation(SpdyStreamId stream_id, size_t payload_length,
493
+ bool end) = 0;
483
494
 
484
495
  // Called when an ALTSVC frame has been parsed.
485
496
  virtual void OnAltSvc(
@@ -101,7 +101,7 @@ void MetadataVisitor::OnSetting(SpdySettingsId id, uint32_t value) {
101
101
  on_support_(true);
102
102
  }
103
103
  } else {
104
- LOG_EVERY_N_SEC(WARNING, 1)
104
+ QUICHE_LOG_EVERY_N_SEC(WARNING, 1)
105
105
  << "Unrecognized value for setting " << id << ": " << value;
106
106
  }
107
107
  }