Resolve the following 82 technical "build-missing-std-includes" debt issues:

missing #include <vector> for 'std::vector' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/quic_crypto_server_config.cc
	//depot/google3/third_party/quic/core/crypto/quic_crypto_server_config_test.cc
	//depot/google3/third_party/quic/core/crypto/tls_client_connection.cc
	//depot/google3/third_party/quic/core/crypto/transport_parameters.cc
	//depot/google3/third_party/quic/core/crypto/transport_parameters_test.cc
	//depot/google3/third_party/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc
	//depot/google3/third_party/quic/core/deterministic_connection_id_generator_test.cc
	//depot/google3/third_party/quic/core/frames/quic_frames_test.cc
	//depot/google3/third_party/quic/core/http/http_encoder.cc
	//depot/google3/third_party/quic/core/http/quic_receive_control_stream_test.cc
	//depot/google3/third_party/quic/core/http/quic_send_control_stream_test.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base_test.cc

missing #include <utility> for 'std::move' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/quic_crypto_server_config_test.cc
	//depot/google3/third_party/quic/core/crypto/tls_client_connection.cc
	//depot/google3/third_party/quic/core/crypto/tls_connection.cc
	//depot/google3/third_party/quic/core/frames/quic_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_message_frame.cc
	//depot/google3/third_party/quic/core/http/http_decoder.cc
	//depot/google3/third_party/quic/core/http/quic_headers_stream.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

missing #include <memory> for 'std::unique_ptr' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/quic_decrypter.cc
	//depot/google3/third_party/quic/core/crypto/quic_encrypter.cc
	//depot/google3/third_party/quic/core/crypto/transport_parameters_test.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc
	//depot/google3/third_party/quic/core/http/quic_spdy_client_session.cc

missing #include <string> for 'std::string' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/transport_parameters.cc
	//depot/google3/third_party/quic/core/crypto/web_transport_fingerprint_proof_verifier_test.cc
	//depot/google3/third_party/quic/core/frames/quic_connection_close_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_frame.cc
	//depot/google3/third_party/quic/core/http/http_constants.cc
	//depot/google3/third_party/quic/core/http/http_decoder.cc
	//depot/google3/third_party/quic/core/http/http_encoder.cc
	//depot/google3/third_party/quic/core/http/http_encoder_test.cc
	//depot/google3/third_party/quic/core/http/metadata_decoder_test.cc
	//depot/google3/third_party/quic/core/http/quic_send_control_stream.cc

missing #include <ostream> for 'std::ostream' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/transport_parameters.cc
	//depot/google3/third_party/quic/core/deterministic_connection_id_generator_test.cc
	//depot/google3/third_party/quic/core/frames/quic_ack_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_ack_frequency_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_blocked_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_connection_close_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_crypto_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_goaway_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_handshake_done_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_max_streams_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_message_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_new_connection_id_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_new_token_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_padding_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_path_challenge_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_path_response_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_ping_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_retire_connection_id_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_rst_stream_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_stop_sending_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_stop_waiting_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_stream_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_streams_blocked_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_window_update_frame.cc
	//depot/google3/third_party/quic/core/http/quic_receive_control_stream_test.cc
	//depot/google3/third_party/quic/core/http/quic_send_control_stream_test.cc

missing #include <algorithm> for 'std::find' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/transport_parameters.cc

missing #include <optional> for 'std::nullopt' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/transport_parameters_test.cc

missing #include <optional> for 'std::optional' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/deterministic_connection_id_generator.cc
	//depot/google3/third_party/quic/core/http/end_to_end_test.cc
	//depot/google3/third_party/quic/core/http/quic_send_control_stream_test.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

missing #include <utility> for 'std::pair' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/frames/quic_ack_frame.cc
	//depot/google3/third_party/quic/core/http/http_encoder.cc

missing #include <sstream> for 'std::ostringstream' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/frames/quic_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_frames_test.cc

missing #include <algorithm> for 'std::max' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/end_to_end_test.cc

missing #include <array> for 'std::array' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/end_to_end_test.cc

missing #include <algorithm> for 'std::min' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/http_decoder.cc
	//depot/google3/third_party/quic/core/http/quic_headers_stream.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

missing #include <algorithm> for 'std::sort' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/http_encoder.cc

missing #include <memory> for 'std::make_unique' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/quic_headers_stream_test.cc
	//depot/google3/third_party/quic/core/http/quic_send_control_stream_test.cc

missing #include <cstdlib> for 'std::abs' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

missing #include <limits> for 'std::numeric_limits' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

CL generated via Upkeep (go/upkeep).

#upkeep #autofix #codehealth #cleanup

PiperOrigin-RevId: 635880479
50 files changed
tree: eb455dfb01eb6982e30968990ee6e0470e206ed3
  1. build/
  2. depstool/
  3. quiche/
  4. .bazelrc
  5. .bazelversion
  6. BUILD.bazel
  7. CONTRIBUTING.md
  8. LICENSE
  9. README.md
  10. WHITESPACE
  11. WORKSPACE.bazel
README.md

QUICHE

QUICHE stands for QUIC, Http, Etc. It is Google‘s production-ready implementation of QUIC, HTTP/2, HTTP/3, and related protocols and tools. It powers Google’s servers, Chromium, Envoy, and other projects. It is actively developed and maintained.

There are two public QUICHE repositories. Either one may be used by embedders, as they are automatically kept in sync:

To embed QUICHE in your project, platform APIs need to be implemented and build files need to be created. Note that it is on the QUICHE team's roadmap to include default implementation for all platform APIs and to open-source build files. In the meanwhile, take a look at open source embedders like Chromium and Envoy to get started:

To contribute to QUICHE, follow instructions at CONTRIBUTING.md.

QUICHE is only supported on little-endian platforms.