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

missing #include <algorithm> for 'std::min' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/congestion_control/bbr2_probe_rtt.cc
	//depot/google3/third_party/quic/core/congestion_control/bbr2_simulator_test.cc
	//depot/google3/third_party/quic/core/congestion_control/pacing_sender.cc
	//depot/google3/third_party/quic/core/crypto/aead_base_encrypter.cc
	//depot/google3/third_party/quic/core/crypto/null_encrypter.cc

missing #include <ostream> for 'std::ostream' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/congestion_control/bbr2_probe_rtt.cc
	//depot/google3/third_party/quic/core/congestion_control/bbr2_sender.cc
	//depot/google3/third_party/quic/core/congestion_control/bbr2_startup.cc
	//depot/google3/third_party/quic/core/congestion_control/bbr_sender.cc
	//depot/google3/third_party/quic/core/congestion_control/send_algorithm_test.cc

missing #include <string> for 'std::string' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/congestion_control/bbr2_sender.cc
	//depot/google3/third_party/quic/core/congestion_control/bbr2_simulator_test.cc
	//depot/google3/third_party/quic/core/congestion_control/bbr_sender_test.cc
	//depot/google3/third_party/quic/core/crypto/aes_base_decrypter.cc
	//depot/google3/third_party/quic/core/crypto/aes_base_encrypter.cc
	//depot/google3/third_party/quic/core/crypto/certificate_util.cc
	//depot/google3/third_party/quic/core/crypto/certificate_util_test.cc
	//depot/google3/third_party/quic/core/crypto/chacha_base_decrypter.cc
	//depot/google3/third_party/quic/core/crypto/chacha_base_encrypter.cc
	//depot/google3/third_party/quic/core/crypto/client_proof_source.cc
	//depot/google3/third_party/quic/core/crypto/client_proof_source_test.cc
	//depot/google3/third_party/quic/core/crypto/null_decrypter.cc
	//depot/google3/third_party/quic/core/crypto/null_encrypter.cc
	//depot/google3/third_party/quic/core/crypto/proof_source_x509.cc
	//depot/google3/third_party/quic/core/crypto/proof_source_x509_test.cc
	//depot/google3/third_party/quic/core/crypto/quic_client_session_cache.cc

missing #include <algorithm> for 'std::max' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/congestion_control/bbr2_sender.cc
	//depot/google3/third_party/quic/core/congestion_control/bbr2_startup.cc
	//depot/google3/third_party/quic/core/congestion_control/general_loss_algorithm.cc
	//depot/google3/third_party/quic/core/congestion_control/rtt_stats.cc

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

missing #include <vector> for 'std::vector' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/congestion_control/bbr2_simulator_test.cc
	//depot/google3/third_party/quic/core/congestion_control/general_loss_algorithm_test.cc
	//depot/google3/third_party/quic/core/congestion_control/rtt_stats_test.cc
	//depot/google3/third_party/quic/core/congestion_control/send_algorithm_test.cc
	//depot/google3/third_party/quic/core/congestion_control/uber_loss_algorithm_test.cc
	//depot/google3/third_party/quic/core/crypto/aes_128_gcm_encrypter_test.cc
	//depot/google3/third_party/quic/core/crypto/cert_compressor.cc
	//depot/google3/third_party/quic/core/crypto/cert_compressor_test.cc
	//depot/google3/third_party/quic/core/crypto/certificate_util.cc
	//depot/google3/third_party/quic/core/crypto/certificate_view.cc
	//depot/google3/third_party/quic/core/crypto/certificate_view_test.cc
	//depot/google3/third_party/quic/core/crypto/client_proof_source.cc
	//depot/google3/third_party/quic/core/crypto/crypto_handshake_message_test.cc
	//depot/google3/third_party/quic/core/crypto/crypto_secret_boxer.cc
	//depot/google3/third_party/quic/core/crypto/crypto_utils.cc
	//depot/google3/third_party/quic/core/crypto/proof_source.cc
	//depot/google3/third_party/quic/core/crypto/quic_client_session_cache_test.cc
	//depot/google3/third_party/quic/core/crypto/quic_compressed_certs_cache_test.cc
	//depot/google3/third_party/quic/core/crypto/quic_crypto_client_config.cc
	//depot/google3/third_party/quic/core/crypto/quic_crypto_client_config_test.cc

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

missing #include <cmath> for 'std::sqrt' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/congestion_control/cubic_bytes_test.cc

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

missing #include <memory> for 'std::unique_ptr' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/congestion_control/uber_loss_algorithm.cc
	//depot/google3/third_party/quic/core/crypto/certificate_util_test.cc
	//depot/google3/third_party/quic/core/crypto/certificate_view_der_fuzzer.cc
	//depot/google3/third_party/quic/core/crypto/crypto_secret_boxer.cc
	//depot/google3/third_party/quic/core/crypto/crypto_utils_test.cc
	//depot/google3/third_party/quic/core/crypto/curve25519_key_exchange.cc
	//depot/google3/third_party/quic/core/crypto/key_exchange.cc
	//depot/google3/third_party/quic/core/crypto/proof_source.cc
	//depot/google3/third_party/quic/core/crypto/quic_client_session_cache.cc
	//depot/google3/third_party/quic/core/crypto/quic_client_session_cache_test.cc
	//depot/google3/third_party/quic/core/crypto/quic_compressed_certs_cache.cc

missing #include <utility> for 'std::move' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/congestion_control/uber_loss_algorithm.cc
	//depot/google3/third_party/quic/core/crypto/certificate_util_test.cc
	//depot/google3/third_party/quic/core/crypto/certificate_view.cc
	//depot/google3/third_party/quic/core/crypto/client_proof_source.cc
	//depot/google3/third_party/quic/core/crypto/crypto_handshake_message_test.cc
	//depot/google3/third_party/quic/core/crypto/crypto_secret_boxer.cc
	//depot/google3/third_party/quic/core/crypto/proof_source_x509.cc
	//depot/google3/third_party/quic/core/crypto/proof_source_x509_test.cc
	//depot/google3/third_party/quic/core/crypto/quic_client_session_cache.cc
	//depot/google3/third_party/quic/core/crypto/quic_client_session_cache_test.cc
	//depot/google3/third_party/quic/core/crypto/quic_compressed_certs_cache.cc
	//depot/google3/third_party/quic/core/crypto/quic_crypto_client_config.cc

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

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

missing #include <limits> for 'std::numeric_limits' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/chacha20_poly1305_encrypter.cc
	//depot/google3/third_party/quic/core/crypto/chacha20_poly1305_tls_encrypter.cc
	//depot/google3/third_party/quic/core/crypto/null_decrypter.cc
	//depot/google3/third_party/quic/core/crypto/null_encrypter.cc

missing #include <memory> for 'std::make_shared' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/client_proof_source.cc

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

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

CL generated via Upkeep (go/upkeep).

#upkeep #autofix #codehealth #cleanup

PiperOrigin-RevId: 635866605
50 files changed
tree: 712a6b66f12bb819476f847a50c3c5d77c050ce2
  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.