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