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

missing #include <string> for 'std::string' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/qbone/qbone_packet_processor.cc
	//depot/google3/third_party/quic/qbone/qbone_packet_processor_test.cc
	//depot/google3/third_party/quic/qbone/qbone_packet_processor_test_tools.cc
	//depot/google3/third_party/quic/qbone/qbone_session_test.cc
	//depot/google3/third_party/quic/qbone/qbone_stream_test.cc
	//depot/google3/third_party/quic/rush/rush_integration_test.cc
	//depot/google3/third_party/quic/rush/rush_protocol.cc
	//depot/google3/third_party/quic/rush/rush_server_session.cc
	//depot/google3/third_party/quic/rush/rush_session_base.cc
	//depot/google3/third_party/quic/rush/rush_stream.cc
	//depot/google3/third_party/quic/rush/rush_stream_test.cc
	//depot/google3/third_party/quic/test_tools/crypto_test_utils_test.cc
	//depot/google3/third_party/quic/test_tools/failing_proof_source.cc
	//depot/google3/third_party/quic/test_tools/fake_proof_source.cc
	//depot/google3/third_party/quic/test_tools/qpack/qpack_decoder_test_utils.cc
	//depot/google3/third_party/quic/test_tools/quic_coalesced_packet_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_connection_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_crypto_server_config_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_dispatcher_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_framer_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_packet_creator_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_stream_sequencer_buffer_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_test_backend.cc
	//depot/google3/third_party/quic/test_tools/quic_test_client.cc
	//depot/google3/third_party/quic/test_tools/quic_test_utils.cc
	//depot/google3/third_party/quic/test_tools/quic_test_utils_test.cc
	//depot/google3/third_party/quic/test_tools/send_algorithm_test_utils.cc
	//depot/google3/third_party/quic/test_tools/simple_data_producer.cc
	//depot/google3/third_party/quic/test_tools/simple_quic_framer.cc
	//depot/google3/third_party/quic/test_tools/simple_session_cache.cc
	//depot/google3/third_party/quic/test_tools/simple_session_notifier_test.cc
	//depot/google3/third_party/quic/test_tools/simulator/actor.cc

missing #include <memory> for 'std::make_unique' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/qbone/qbone_packet_processor_test.cc
	//depot/google3/third_party/quic/rush/rush_integration_test.cc
	//depot/google3/third_party/quic/test_tools/fuzzing/quic_framer_process_data_packet_fuzzer.cc
	//depot/google3/third_party/quic/test_tools/qpack/qpack_offline_decoder.cc
	//depot/google3/third_party/quic/test_tools/simple_data_producer.cc
	//depot/google3/third_party/quic/test_tools/simple_session_notifier_test.cc

missing #include <memory> for 'std::unique_ptr' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/qbone/qbone_server_session.cc
	//depot/google3/third_party/quic/qbone/qbone_session_base.cc
	//depot/google3/third_party/quic/qbone/qbone_stream_test.cc
	//depot/google3/third_party/quic/test_tools/crypto_test_utils_test.cc
	//depot/google3/third_party/quic/test_tools/failing_proof_source.cc
	//depot/google3/third_party/quic/test_tools/fake_proof_source.cc
	//depot/google3/third_party/quic/test_tools/fuzzing/quic_framer_fuzzer.cc
	//depot/google3/third_party/quic/test_tools/mock_quic_dispatcher.cc
	//depot/google3/third_party/quic/test_tools/packet_dropping_test_writer.cc
	//depot/google3/third_party/quic/test_tools/quic_connection_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_crypto_server_config_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_dispatcher_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_packet_creator_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_session_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_test_server.cc
	//depot/google3/third_party/quic/test_tools/quic_time_wait_list_manager_peer.cc
	//depot/google3/third_party/quic/test_tools/server_thread.cc

missing #include <limits> for 'std::numeric_limits' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/qbone/qbone_session_base.cc
	//depot/google3/third_party/quic/test_tools/quic_stream_sequencer_buffer_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_test_utils.cc

missing #include <queue> for 'std::priority_queue' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/qbone/qbone_session_test.cc

missing #include <vector> for 'std::vector' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/qbone/qbone_session_test.cc
	//depot/google3/third_party/quic/test_tools/fuzzing/quic_framer_process_data_packet_fuzzer.cc
	//depot/google3/third_party/quic/test_tools/qpack/qpack_offline_decoder.cc
	//depot/google3/third_party/quic/test_tools/quic_crypto_server_config_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_dispatcher_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_test_backend.cc
	//depot/google3/third_party/quic/test_tools/simple_quic_framer.cc

missing #include <functional> for 'std::function' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/qbone/qbone_session_test.cc

missing #include <optional> for 'std::optional' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/qbone/qbone_stream_test.cc
	//depot/google3/third_party/quic/rush/rush_framer_test.cc
	//depot/google3/third_party/quic/test_tools/qpack/qpack_offline_decoder.cc
	//depot/google3/third_party/quic/test_tools/quic_test_client.cc
	//depot/google3/third_party/quic/test_tools/quic_test_utils.cc
	//depot/google3/third_party/quic/test_tools/simple_quic_framer.cc

missing #include <utility> for 'std::move' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/rush/rush_client_session.cc
	//depot/google3/third_party/quic/rush/rush_stream_test.cc
	//depot/google3/third_party/quic/test_tools/first_flight.cc
	//depot/google3/third_party/quic/test_tools/mock_quic_dispatcher.cc
	//depot/google3/third_party/quic/test_tools/packet_dropping_test_writer.cc
	//depot/google3/third_party/quic/test_tools/quic_crypto_server_config_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_dispatcher_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_packet_creator_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_session_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_spdy_session_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_spdy_stream_peer.cc
	//depot/google3/third_party/quic/test_tools/quic_time_wait_list_manager_peer.cc
	//depot/google3/third_party/quic/test_tools/server_thread.cc
	//depot/google3/third_party/quic/test_tools/simulator/actor.cc

missing #include <algorithm> for 'std::min' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/rush/rush_parser.cc

missing #include <ostream> for 'std::ostream' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/rush/rush_parser.cc

missing #include <array> for 'std::array' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/test_tools/fuzzing/quic_framer_process_data_packet_fuzzer.cc

missing #include <utility> for 'std::make_pair' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/test_tools/quic_config_peer.cc
	//depot/google3/third_party/quic/test_tools/simple_session_cache.cc

missing #include <utility> for 'std::pair' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/test_tools/quic_test_backend.cc

CL generated via Upkeep (go/upkeep).

#upkeep #autofix #codehealth #cleanup

PiperOrigin-RevId: 635868163
41 files changed
tree: d27cc1b78aabefe65845c4bb4bc1df938189c80e
  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.