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
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.