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

missing #include <ostream> for 'std::ostream' (google3-build-missing-std-includes)
	//depot/google3/third_party/http2/hpack/decoder/hpack_block_decoder.cc
	//depot/google3/third_party/http2/hpack/decoder/hpack_decoder_string_buffer.cc
	//depot/google3/third_party/http2/hpack/decoder/hpack_decoder_tables.cc
	//depot/google3/third_party/http2/hpack/decoder/hpack_entry_decoder.cc
	//depot/google3/third_party/http2/hpack/decoder/hpack_entry_type_decoder.cc
	//depot/google3/third_party/http2/hpack/decoder/hpack_string_decoder.cc
	//depot/google3/third_party/http2/hpack/http2_hpack_constants.cc
	//depot/google3/third_party/http2/hpack/huffman/hpack_huffman_decoder.cc
	//depot/google3/third_party/http2/http2_structures.cc
	//depot/google3/third_party/http2/test_tools/frame_parts.cc
	//depot/google3/third_party/http2/test_tools/hpack_entry_collector.cc
	//depot/google3/third_party/quic/core/congestion_control/bandwidth_sampler.cc
	//depot/google3/third_party/quic/core/congestion_control/bbr2_drain.cc
	//depot/google3/third_party/quic/core/congestion_control/bbr2_probe_bw.cc

missing #include <string> for 'std::string' (google3-build-missing-std-includes)
	//depot/google3/third_party/http2/hpack/decoder/hpack_block_decoder.cc
	//depot/google3/third_party/http2/hpack/decoder/hpack_decoder_state.cc
	//depot/google3/third_party/http2/hpack/decoder/hpack_decoder_string_buffer.cc
	//depot/google3/third_party/http2/hpack/decoder/hpack_decoder_tables.cc
	//depot/google3/third_party/http2/hpack/decoder/hpack_entry_decoder.cc
	//depot/google3/third_party/http2/hpack/decoder/hpack_entry_decoder_test.cc
	//depot/google3/third_party/http2/hpack/decoder/hpack_entry_type_decoder.cc
	//depot/google3/third_party/http2/hpack/decoder/hpack_string_decoder.cc
	//depot/google3/third_party/http2/hpack/decoder/hpack_string_decoder_test.cc
	//depot/google3/third_party/http2/hpack/http2_hpack_constants.cc
	//depot/google3/third_party/http2/hpack/huffman/hpack_huffman_decoder.cc
	//depot/google3/third_party/http2/hpack/huffman/hpack_huffman_encoder.cc
	//depot/google3/third_party/http2/hpack/huffman/hpack_huffman_transcoder_test.cc
	//depot/google3/third_party/http2/hpack/varint/hpack_varint_decoder.cc
	//depot/google3/third_party/http2/hpack/varint/hpack_varint_encoder.cc
	//depot/google3/third_party/http2/hpack/varint/hpack_varint_round_trip_test.cc
	//depot/google3/third_party/http2/http2_constants.cc
	//depot/google3/third_party/http2/http2_structures.cc
	//depot/google3/third_party/http2/test_tools/frame_parts.cc
	//depot/google3/third_party/http2/test_tools/hpack_block_collector.cc
	//depot/google3/third_party/http2/test_tools/hpack_entry_collector.cc
	//depot/google3/third_party/http2/test_tools/hpack_example_test.cc
	//depot/google3/third_party/http2/test_tools/hpack_string_collector.cc
	//depot/google3/third_party/http2/test_tools/http2_random.cc
	//depot/google3/third_party/http2/test_tools/http2_random_test.cc
	//depot/google3/third_party/http2/test_tools/random_util.cc
	//depot/google3/third_party/quic/core/batch_writer/quic_batch_writer_buffer.cc
	//depot/google3/third_party/quic/core/congestion_control/bandwidth_sampler_test.cc

missing #include <sstream> for 'std::ostringstream' (google3-build-missing-std-includes)
	//depot/google3/third_party/http2/hpack/decoder/hpack_block_decoder_test.cc
	//depot/google3/third_party/http2/hpack/decoder/hpack_decoder_string_buffer_test.cc

missing #include <vector> for 'std::vector' (google3-build-missing-std-includes)
	//depot/google3/third_party/http2/hpack/decoder/hpack_decoder_tables.cc
	//depot/google3/third_party/http2/hpack/huffman/hpack_huffman_encoder_benchmark.cc
	//depot/google3/third_party/http2/test_tools/http2_constants_test_util.cc
	//depot/google3/third_party/quic/core/batch_writer/quic_batch_writer_buffer_test.cc
	//depot/google3/third_party/quic/core/batch_writer/quic_gso_batch_writer_test.cc
	//depot/google3/third_party/quic/core/chlo_extractor_test.cc

missing #include <utility> for 'std::move' (google3-build-missing-std-includes)
	//depot/google3/third_party/http2/hpack/decoder/hpack_decoder_tables.cc
	//depot/google3/third_party/quic/bindings/quic_libevent.cc
	//depot/google3/third_party/quic/core/batch_writer/quic_batch_writer_base.cc
	//depot/google3/third_party/quic/core/batch_writer/quic_gso_batch_writer.cc
	//depot/google3/third_party/quic/core/batch_writer/quic_sendmmsg_batch_writer.cc

missing #include <sstream> for 'std::stringstream' (google3-build-missing-std-includes)
	//depot/google3/third_party/http2/hpack/decoder/hpack_entry_decoder.cc
	//depot/google3/third_party/http2/hpack/huffman/hpack_huffman_decoder.cc

missing #include <ios> for 'std::hex' (google3-build-missing-std-includes)
	//depot/google3/third_party/http2/hpack/decoder/hpack_entry_type_decoder.cc
	//depot/google3/third_party/http2/hpack/varint/hpack_varint_round_trip_test.cc
	//depot/google3/third_party/http2/test_tools/random_decoder_test_base_test.cc

missing #include <random> for 'std::seed_seq' (google3-build-missing-std-includes)
	//depot/google3/third_party/http2/hpack/huffman/hpack_huffman_encoder_benchmark.cc

missing #include <tuple> for 'std::tuple' (google3-build-missing-std-includes)
	//depot/google3/third_party/http2/hpack/huffman/hpack_huffman_transcoder_test.cc
	//depot/google3/third_party/http2/hpack/varint/hpack_varint_decoder_test.cc

missing #include <limits> for 'std::numeric_limits' (google3-build-missing-std-includes)
	//depot/google3/third_party/http2/hpack/varint/hpack_varint_decoder.cc
	//depot/google3/third_party/http2/hpack/varint/hpack_varint_round_trip_test.cc
	//depot/google3/third_party/quic/core/batch_writer/quic_batch_writer_base.cc
	//depot/google3/third_party/quic/core/congestion_control/bbr2_misc.cc
	//depot/google3/third_party/quic/core/congestion_control/bbr2_probe_bw.cc

missing #include <memory> for 'std::make_unique' (google3-build-missing-std-includes)
	//depot/google3/third_party/http2/test_tools/frame_parts_collector.cc
	//depot/google3/third_party/http2/test_tools/payload_decoder_base_test_util.cc
	//depot/google3/third_party/quic/core/batch_writer/quic_batch_writer_test.cc

missing #include <algorithm> for 'std::shuffle' (google3-build-missing-std-includes)
	//depot/google3/third_party/http2/test_tools/http2_random_test.cc

missing #include <atomic> for 'std::atomic' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/bindings/quic_libevent_test.cc

missing #include <memory> for 'std::unique_ptr' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/batch_writer/quic_batch_writer_base.cc
	//depot/google3/third_party/quic/core/batch_writer/quic_gso_batch_writer.cc
	//depot/google3/third_party/quic/core/batch_writer/quic_sendmmsg_batch_writer.cc
	//depot/google3/third_party/quic/core/chlo_extractor.cc

missing #include <algorithm> for 'std::max' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/batch_writer/quic_batch_writer_buffer.cc
	//depot/google3/third_party/quic/core/congestion_control/bandwidth_sampler_test.cc
	//depot/google3/third_party/quic/core/congestion_control/bbr2_drain.cc
	//depot/google3/third_party/quic/core/congestion_control/bbr2_misc.cc

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

missing #include <algorithm> for 'std::min' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/batch_writer/quic_batch_writer_buffer_test.cc
	//depot/google3/third_party/quic/core/congestion_control/bbr2_probe_bw.cc

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

CL generated via Upkeep (go/upkeep).

#upkeep #autofix #codehealth #cleanup

PiperOrigin-RevId: 635873331
49 files changed
tree: de11ee6a9851580846a1f3cbb030101b46bb55be
  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.