tree eb455dfb01eb6982e30968990ee6e0470e206ed3
parent b370e7ab43e530cd492b71b86e81b644dfa21a64
author QUICHE team <quiche-dev@google.com> 1716317437 -0700
committer Copybara-Service <copybara-worker@google.com> 1716317496 -0700

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

missing #include <vector> for 'std::vector' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/quic_crypto_server_config.cc
	//depot/google3/third_party/quic/core/crypto/quic_crypto_server_config_test.cc
	//depot/google3/third_party/quic/core/crypto/tls_client_connection.cc
	//depot/google3/third_party/quic/core/crypto/transport_parameters.cc
	//depot/google3/third_party/quic/core/crypto/transport_parameters_test.cc
	//depot/google3/third_party/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc
	//depot/google3/third_party/quic/core/deterministic_connection_id_generator_test.cc
	//depot/google3/third_party/quic/core/frames/quic_frames_test.cc
	//depot/google3/third_party/quic/core/http/http_encoder.cc
	//depot/google3/third_party/quic/core/http/quic_receive_control_stream_test.cc
	//depot/google3/third_party/quic/core/http/quic_send_control_stream_test.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base_test.cc

missing #include <utility> for 'std::move' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/quic_crypto_server_config_test.cc
	//depot/google3/third_party/quic/core/crypto/tls_client_connection.cc
	//depot/google3/third_party/quic/core/crypto/tls_connection.cc
	//depot/google3/third_party/quic/core/frames/quic_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_message_frame.cc
	//depot/google3/third_party/quic/core/http/http_decoder.cc
	//depot/google3/third_party/quic/core/http/quic_headers_stream.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

missing #include <memory> for 'std::unique_ptr' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/quic_decrypter.cc
	//depot/google3/third_party/quic/core/crypto/quic_encrypter.cc
	//depot/google3/third_party/quic/core/crypto/transport_parameters_test.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc
	//depot/google3/third_party/quic/core/http/quic_spdy_client_session.cc

missing #include <string> for 'std::string' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/transport_parameters.cc
	//depot/google3/third_party/quic/core/crypto/web_transport_fingerprint_proof_verifier_test.cc
	//depot/google3/third_party/quic/core/frames/quic_connection_close_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_frame.cc
	//depot/google3/third_party/quic/core/http/http_constants.cc
	//depot/google3/third_party/quic/core/http/http_decoder.cc
	//depot/google3/third_party/quic/core/http/http_encoder.cc
	//depot/google3/third_party/quic/core/http/http_encoder_test.cc
	//depot/google3/third_party/quic/core/http/metadata_decoder_test.cc
	//depot/google3/third_party/quic/core/http/quic_send_control_stream.cc

missing #include <ostream> for 'std::ostream' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/transport_parameters.cc
	//depot/google3/third_party/quic/core/deterministic_connection_id_generator_test.cc
	//depot/google3/third_party/quic/core/frames/quic_ack_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_ack_frequency_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_blocked_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_connection_close_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_crypto_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_goaway_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_handshake_done_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_max_streams_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_message_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_new_connection_id_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_new_token_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_padding_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_path_challenge_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_path_response_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_ping_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_retire_connection_id_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_rst_stream_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_stop_sending_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_stop_waiting_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_stream_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_streams_blocked_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_window_update_frame.cc
	//depot/google3/third_party/quic/core/http/quic_receive_control_stream_test.cc
	//depot/google3/third_party/quic/core/http/quic_send_control_stream_test.cc

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

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

missing #include <optional> for 'std::optional' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/deterministic_connection_id_generator.cc
	//depot/google3/third_party/quic/core/http/end_to_end_test.cc
	//depot/google3/third_party/quic/core/http/quic_send_control_stream_test.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

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

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

missing #include <algorithm> for 'std::max' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/end_to_end_test.cc

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

missing #include <algorithm> for 'std::min' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/http_decoder.cc
	//depot/google3/third_party/quic/core/http/quic_headers_stream.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

missing #include <algorithm> for 'std::sort' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/http_encoder.cc

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

missing #include <cstdlib> for 'std::abs' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

missing #include <limits> for 'std::numeric_limits' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

CL generated via Upkeep (go/upkeep).

#upkeep #autofix #codehealth #cleanup

PiperOrigin-RevId: 635880479
