Moves several targets from //third_party/spdy/core to //third_party/http2/core. These targets are used in google3, but either not used or only sparingly used by Chromium. Protected by refactoring, no functional change, not protected. PiperOrigin-RevId: 651073162
diff --git a/build/source_list.bzl b/build/source_list.bzl index 9e7e6df..bb7da0b 100644 --- a/build/source_list.bzl +++ b/build/source_list.bzl
@@ -75,8 +75,16 @@ "http2/adapter/oghttp2_session.h", "http2/adapter/oghttp2_util.h", "http2/adapter/window_manager.h", + "http2/core/array_output_buffer.h", + "http2/core/header_byte_listener_interface.h", + "http2/core/http2_header_block_hpack_listener.h", "http2/core/http2_trace_logging.h", + "http2/core/no_op_headers_handler.h", "http2/core/priority_write_scheduler.h", + "http2/core/recording_headers_handler.h", + "http2/core/spdy_headers_handler_interface.h", + "http2/core/spdy_no_op_visitor.h", + "http2/core/zero_copy_output_buffer.h", "http2/decoder/decode_buffer.h", "http2/decoder/decode_http2_structures.h", "http2/decoder/decode_status.h", @@ -379,23 +387,16 @@ "quic/platform/api/quic_stack_trace.h", "quic/platform/api/quic_testvalue.h", "quic/platform/api/quic_thread.h", - "spdy/core/array_output_buffer.h", - "spdy/core/header_byte_listener_interface.h", "spdy/core/hpack/hpack_decoder_adapter.h", "spdy/core/hpack/hpack_encoder.h", "spdy/core/http2_frame_decoder_adapter.h", "spdy/core/http2_header_block.h", - "spdy/core/http2_header_block_hpack_listener.h", - "spdy/core/no_op_headers_handler.h", - "spdy/core/recording_headers_handler.h", "spdy/core/spdy_alt_svc_wire_format.h", "spdy/core/spdy_bitmasks.h", "spdy/core/spdy_frame_builder.h", "spdy/core/spdy_framer.h", "spdy/core/spdy_headers_handler_interface.h", - "spdy/core/spdy_no_op_visitor.h", "spdy/core/spdy_protocol.h", - "spdy/core/zero_copy_output_buffer.h", "web_transport/complete_buffer_visitor.h", "web_transport/encapsulated/encapsulated_web_transport.h", "web_transport/web_transport.h", @@ -432,7 +433,10 @@ "http2/adapter/oghttp2_session.cc", "http2/adapter/oghttp2_util.cc", "http2/adapter/window_manager.cc", + "http2/core/array_output_buffer.cc", "http2/core/http2_trace_logging.cc", + "http2/core/recording_headers_handler.cc", + "http2/core/spdy_no_op_visitor.cc", "http2/decoder/decode_buffer.cc", "http2/decoder/decode_http2_structures.cc", "http2/decoder/decode_status.cc", @@ -683,14 +687,11 @@ "quic/core/web_transport_stats.cc", "quic/core/web_transport_write_blocked_list.cc", "quic/platform/api/quic_socket_address.cc", - "spdy/core/array_output_buffer.cc", "spdy/core/hpack/hpack_decoder_adapter.cc", "spdy/core/http2_frame_decoder_adapter.cc", - "spdy/core/recording_headers_handler.cc", "spdy/core/spdy_alt_svc_wire_format.cc", "spdy/core/spdy_frame_builder.cc", "spdy/core/spdy_framer.cc", - "spdy/core/spdy_no_op_visitor.cc", "spdy/core/spdy_protocol.cc", "web_transport/complete_buffer_visitor.cc", "web_transport/encapsulated/encapsulated_web_transport.cc", @@ -1110,6 +1111,7 @@ "http2/adapter/recording_http2_visitor_test.cc", "http2/adapter/test_utils_test.cc", "http2/adapter/window_manager_test.cc", + "http2/core/array_output_buffer_test.cc", "http2/core/priority_write_scheduler_test.cc", "http2/decoder/decode_buffer_test.cc", "http2/decoder/decode_http2_structures_test.cc", @@ -1322,7 +1324,6 @@ "quic/tools/quic_memory_cache_backend_test.cc", "quic/tools/quic_tcp_like_trace_converter_test.cc", "quic/tools/simple_ticket_crypter_test.cc", - "spdy/core/array_output_buffer_test.cc", "spdy/core/hpack/hpack_decoder_adapter_test.cc", "spdy/core/hpack/hpack_round_trip_test.cc", "spdy/core/spdy_alt_svc_wire_format_test.cc",
diff --git a/build/source_list.gni b/build/source_list.gni index d0adb30..23aaaaa 100644 --- a/build/source_list.gni +++ b/build/source_list.gni
@@ -75,8 +75,16 @@ "src/quiche/http2/adapter/oghttp2_session.h", "src/quiche/http2/adapter/oghttp2_util.h", "src/quiche/http2/adapter/window_manager.h", + "src/quiche/http2/core/array_output_buffer.h", + "src/quiche/http2/core/header_byte_listener_interface.h", + "src/quiche/http2/core/http2_header_block_hpack_listener.h", "src/quiche/http2/core/http2_trace_logging.h", + "src/quiche/http2/core/no_op_headers_handler.h", "src/quiche/http2/core/priority_write_scheduler.h", + "src/quiche/http2/core/recording_headers_handler.h", + "src/quiche/http2/core/spdy_headers_handler_interface.h", + "src/quiche/http2/core/spdy_no_op_visitor.h", + "src/quiche/http2/core/zero_copy_output_buffer.h", "src/quiche/http2/decoder/decode_buffer.h", "src/quiche/http2/decoder/decode_http2_structures.h", "src/quiche/http2/decoder/decode_status.h", @@ -379,23 +387,16 @@ "src/quiche/quic/platform/api/quic_stack_trace.h", "src/quiche/quic/platform/api/quic_testvalue.h", "src/quiche/quic/platform/api/quic_thread.h", - "src/quiche/spdy/core/array_output_buffer.h", - "src/quiche/spdy/core/header_byte_listener_interface.h", "src/quiche/spdy/core/hpack/hpack_decoder_adapter.h", "src/quiche/spdy/core/hpack/hpack_encoder.h", "src/quiche/spdy/core/http2_frame_decoder_adapter.h", "src/quiche/spdy/core/http2_header_block.h", - "src/quiche/spdy/core/http2_header_block_hpack_listener.h", - "src/quiche/spdy/core/no_op_headers_handler.h", - "src/quiche/spdy/core/recording_headers_handler.h", "src/quiche/spdy/core/spdy_alt_svc_wire_format.h", "src/quiche/spdy/core/spdy_bitmasks.h", "src/quiche/spdy/core/spdy_frame_builder.h", "src/quiche/spdy/core/spdy_framer.h", "src/quiche/spdy/core/spdy_headers_handler_interface.h", - "src/quiche/spdy/core/spdy_no_op_visitor.h", "src/quiche/spdy/core/spdy_protocol.h", - "src/quiche/spdy/core/zero_copy_output_buffer.h", "src/quiche/web_transport/complete_buffer_visitor.h", "src/quiche/web_transport/encapsulated/encapsulated_web_transport.h", "src/quiche/web_transport/web_transport.h", @@ -432,7 +433,10 @@ "src/quiche/http2/adapter/oghttp2_session.cc", "src/quiche/http2/adapter/oghttp2_util.cc", "src/quiche/http2/adapter/window_manager.cc", + "src/quiche/http2/core/array_output_buffer.cc", "src/quiche/http2/core/http2_trace_logging.cc", + "src/quiche/http2/core/recording_headers_handler.cc", + "src/quiche/http2/core/spdy_no_op_visitor.cc", "src/quiche/http2/decoder/decode_buffer.cc", "src/quiche/http2/decoder/decode_http2_structures.cc", "src/quiche/http2/decoder/decode_status.cc", @@ -683,14 +687,11 @@ "src/quiche/quic/core/web_transport_stats.cc", "src/quiche/quic/core/web_transport_write_blocked_list.cc", "src/quiche/quic/platform/api/quic_socket_address.cc", - "src/quiche/spdy/core/array_output_buffer.cc", "src/quiche/spdy/core/hpack/hpack_decoder_adapter.cc", "src/quiche/spdy/core/http2_frame_decoder_adapter.cc", - "src/quiche/spdy/core/recording_headers_handler.cc", "src/quiche/spdy/core/spdy_alt_svc_wire_format.cc", "src/quiche/spdy/core/spdy_frame_builder.cc", "src/quiche/spdy/core/spdy_framer.cc", - "src/quiche/spdy/core/spdy_no_op_visitor.cc", "src/quiche/spdy/core/spdy_protocol.cc", "src/quiche/web_transport/complete_buffer_visitor.cc", "src/quiche/web_transport/encapsulated/encapsulated_web_transport.cc", @@ -1111,6 +1112,7 @@ "src/quiche/http2/adapter/recording_http2_visitor_test.cc", "src/quiche/http2/adapter/test_utils_test.cc", "src/quiche/http2/adapter/window_manager_test.cc", + "src/quiche/http2/core/array_output_buffer_test.cc", "src/quiche/http2/core/priority_write_scheduler_test.cc", "src/quiche/http2/decoder/decode_buffer_test.cc", "src/quiche/http2/decoder/decode_http2_structures_test.cc", @@ -1323,7 +1325,6 @@ "src/quiche/quic/tools/quic_memory_cache_backend_test.cc", "src/quiche/quic/tools/quic_tcp_like_trace_converter_test.cc", "src/quiche/quic/tools/simple_ticket_crypter_test.cc", - "src/quiche/spdy/core/array_output_buffer_test.cc", "src/quiche/spdy/core/hpack/hpack_decoder_adapter_test.cc", "src/quiche/spdy/core/hpack/hpack_round_trip_test.cc", "src/quiche/spdy/core/spdy_alt_svc_wire_format_test.cc",
diff --git a/build/source_list.json b/build/source_list.json index 1b3d123..33422d0 100644 --- a/build/source_list.json +++ b/build/source_list.json
@@ -74,8 +74,16 @@ "quiche/http2/adapter/oghttp2_session.h", "quiche/http2/adapter/oghttp2_util.h", "quiche/http2/adapter/window_manager.h", + "quiche/http2/core/array_output_buffer.h", + "quiche/http2/core/header_byte_listener_interface.h", + "quiche/http2/core/http2_header_block_hpack_listener.h", "quiche/http2/core/http2_trace_logging.h", + "quiche/http2/core/no_op_headers_handler.h", "quiche/http2/core/priority_write_scheduler.h", + "quiche/http2/core/recording_headers_handler.h", + "quiche/http2/core/spdy_headers_handler_interface.h", + "quiche/http2/core/spdy_no_op_visitor.h", + "quiche/http2/core/zero_copy_output_buffer.h", "quiche/http2/decoder/decode_buffer.h", "quiche/http2/decoder/decode_http2_structures.h", "quiche/http2/decoder/decode_status.h", @@ -378,23 +386,16 @@ "quiche/quic/platform/api/quic_stack_trace.h", "quiche/quic/platform/api/quic_testvalue.h", "quiche/quic/platform/api/quic_thread.h", - "quiche/spdy/core/array_output_buffer.h", - "quiche/spdy/core/header_byte_listener_interface.h", "quiche/spdy/core/hpack/hpack_decoder_adapter.h", "quiche/spdy/core/hpack/hpack_encoder.h", "quiche/spdy/core/http2_frame_decoder_adapter.h", "quiche/spdy/core/http2_header_block.h", - "quiche/spdy/core/http2_header_block_hpack_listener.h", - "quiche/spdy/core/no_op_headers_handler.h", - "quiche/spdy/core/recording_headers_handler.h", "quiche/spdy/core/spdy_alt_svc_wire_format.h", "quiche/spdy/core/spdy_bitmasks.h", "quiche/spdy/core/spdy_frame_builder.h", "quiche/spdy/core/spdy_framer.h", "quiche/spdy/core/spdy_headers_handler_interface.h", - "quiche/spdy/core/spdy_no_op_visitor.h", "quiche/spdy/core/spdy_protocol.h", - "quiche/spdy/core/zero_copy_output_buffer.h", "quiche/web_transport/complete_buffer_visitor.h", "quiche/web_transport/encapsulated/encapsulated_web_transport.h", "quiche/web_transport/web_transport.h", @@ -431,7 +432,10 @@ "quiche/http2/adapter/oghttp2_session.cc", "quiche/http2/adapter/oghttp2_util.cc", "quiche/http2/adapter/window_manager.cc", + "quiche/http2/core/array_output_buffer.cc", "quiche/http2/core/http2_trace_logging.cc", + "quiche/http2/core/recording_headers_handler.cc", + "quiche/http2/core/spdy_no_op_visitor.cc", "quiche/http2/decoder/decode_buffer.cc", "quiche/http2/decoder/decode_http2_structures.cc", "quiche/http2/decoder/decode_status.cc", @@ -682,14 +686,11 @@ "quiche/quic/core/web_transport_stats.cc", "quiche/quic/core/web_transport_write_blocked_list.cc", "quiche/quic/platform/api/quic_socket_address.cc", - "quiche/spdy/core/array_output_buffer.cc", "quiche/spdy/core/hpack/hpack_decoder_adapter.cc", "quiche/spdy/core/http2_frame_decoder_adapter.cc", - "quiche/spdy/core/recording_headers_handler.cc", "quiche/spdy/core/spdy_alt_svc_wire_format.cc", "quiche/spdy/core/spdy_frame_builder.cc", "quiche/spdy/core/spdy_framer.cc", - "quiche/spdy/core/spdy_no_op_visitor.cc", "quiche/spdy/core/spdy_protocol.cc", "quiche/web_transport/complete_buffer_visitor.cc", "quiche/web_transport/encapsulated/encapsulated_web_transport.cc", @@ -1110,6 +1111,7 @@ "quiche/http2/adapter/recording_http2_visitor_test.cc", "quiche/http2/adapter/test_utils_test.cc", "quiche/http2/adapter/window_manager_test.cc", + "quiche/http2/core/array_output_buffer_test.cc", "quiche/http2/core/priority_write_scheduler_test.cc", "quiche/http2/decoder/decode_buffer_test.cc", "quiche/http2/decoder/decode_http2_structures_test.cc", @@ -1322,7 +1324,6 @@ "quiche/quic/tools/quic_memory_cache_backend_test.cc", "quiche/quic/tools/quic_tcp_like_trace_converter_test.cc", "quiche/quic/tools/simple_ticket_crypter_test.cc", - "quiche/spdy/core/array_output_buffer_test.cc", "quiche/spdy/core/hpack/hpack_decoder_adapter_test.cc", "quiche/spdy/core/hpack/hpack_round_trip_test.cc", "quiche/spdy/core/spdy_alt_svc_wire_format_test.cc",
diff --git a/quiche/http2/adapter/oghttp2_session.h b/quiche/http2/adapter/oghttp2_session.h index 7891081..5b1357e 100644 --- a/quiche/http2/adapter/oghttp2_session.h +++ b/quiche/http2/adapter/oghttp2_session.h
@@ -21,6 +21,7 @@ #include "quiche/http2/adapter/http2_visitor_interface.h" #include "quiche/http2/adapter/window_manager.h" #include "quiche/http2/core/http2_trace_logging.h" +#include "quiche/http2/core/no_op_headers_handler.h" #include "quiche/http2/core/priority_write_scheduler.h" #include "quiche/common/platform/api/quiche_bug_tracker.h" #include "quiche/common/platform/api/quiche_export.h" @@ -30,7 +31,6 @@ #include "quiche/common/quiche_linked_hash_map.h" #include "quiche/spdy/core/http2_frame_decoder_adapter.h" #include "quiche/spdy/core/http2_header_block.h" -#include "quiche/spdy/core/no_op_headers_handler.h" #include "quiche/spdy/core/spdy_framer.h" #include "quiche/spdy/core/spdy_protocol.h"
diff --git a/quiche/spdy/core/array_output_buffer.cc b/quiche/http2/core/array_output_buffer.cc similarity index 90% rename from quiche/spdy/core/array_output_buffer.cc rename to quiche/http2/core/array_output_buffer.cc index 76d30a5..137b947 100644 --- a/quiche/spdy/core/array_output_buffer.cc +++ b/quiche/http2/core/array_output_buffer.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "quiche/spdy/core/array_output_buffer.h" +#include "quiche/http2/core/array_output_buffer.h" #include <cstdint>
diff --git a/quiche/spdy/core/array_output_buffer.h b/quiche/http2/core/array_output_buffer.h similarity index 85% rename from quiche/spdy/core/array_output_buffer.h rename to quiche/http2/core/array_output_buffer.h index f9a80bf..6fc9727 100644 --- a/quiche/spdy/core/array_output_buffer.h +++ b/quiche/http2/core/array_output_buffer.h
@@ -2,14 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef QUICHE_SPDY_CORE_ARRAY_OUTPUT_BUFFER_H_ -#define QUICHE_SPDY_CORE_ARRAY_OUTPUT_BUFFER_H_ +#ifndef QUICHE_HTTP2_CORE_ARRAY_OUTPUT_BUFFER_H_ +#define QUICHE_HTTP2_CORE_ARRAY_OUTPUT_BUFFER_H_ #include <cstddef> #include <cstdint> +#include "quiche/http2/core/zero_copy_output_buffer.h" #include "quiche/common/platform/api/quiche_export.h" -#include "quiche/spdy/core/zero_copy_output_buffer.h" namespace spdy { @@ -45,4 +45,4 @@ } // namespace spdy -#endif // QUICHE_SPDY_CORE_ARRAY_OUTPUT_BUFFER_H_ +#endif // QUICHE_HTTP2_CORE_ARRAY_OUTPUT_BUFFER_H_
diff --git a/quiche/spdy/core/array_output_buffer_test.cc b/quiche/http2/core/array_output_buffer_test.cc similarity index 96% rename from quiche/spdy/core/array_output_buffer_test.cc rename to quiche/http2/core/array_output_buffer_test.cc index b23a781..e61b096 100644 --- a/quiche/spdy/core/array_output_buffer_test.cc +++ b/quiche/http2/core/array_output_buffer_test.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "quiche/spdy/core/array_output_buffer.h" +#include "quiche/http2/core/array_output_buffer.h" #include <cstdint> #include <cstring>
diff --git a/quiche/spdy/core/header_byte_listener_interface.h b/quiche/http2/core/header_byte_listener_interface.h similarity index 72% rename from quiche/spdy/core/header_byte_listener_interface.h rename to quiche/http2/core/header_byte_listener_interface.h index 308110f..a91c8f4 100644 --- a/quiche/spdy/core/header_byte_listener_interface.h +++ b/quiche/http2/core/header_byte_listener_interface.h
@@ -1,5 +1,5 @@ -#ifndef QUICHE_SPDY_CORE_HEADER_BYTE_LISTENER_INTERFACE_H_ -#define QUICHE_SPDY_CORE_HEADER_BYTE_LISTENER_INTERFACE_H_ +#ifndef QUICHE_HTTP2_CORE_HEADER_BYTE_LISTENER_INTERFACE_H_ +#define QUICHE_HTTP2_CORE_HEADER_BYTE_LISTENER_INTERFACE_H_ #include <stddef.h> @@ -19,4 +19,4 @@ } // namespace spdy -#endif // QUICHE_SPDY_CORE_HEADER_BYTE_LISTENER_INTERFACE_H_ +#endif // QUICHE_HTTP2_CORE_HEADER_BYTE_LISTENER_INTERFACE_H_
diff --git a/quiche/spdy/core/http2_header_block_hpack_listener.h b/quiche/http2/core/http2_header_block_hpack_listener.h similarity index 86% rename from quiche/spdy/core/http2_header_block_hpack_listener.h rename to quiche/http2/core/http2_header_block_hpack_listener.h index b5cc0ee..14bc579 100644 --- a/quiche/spdy/core/http2_header_block_hpack_listener.h +++ b/quiche/http2/core/http2_header_block_hpack_listener.h
@@ -1,5 +1,5 @@ -#ifndef QUICHE_SPDY_CORE_HTTP2_HEADER_BLOCK_HPACK_LISTENER_H_ -#define QUICHE_SPDY_CORE_HTTP2_HEADER_BLOCK_HPACK_LISTENER_H_ +#ifndef QUICHE_HTTP2_CORE_HTTP2_HEADER_BLOCK_HPACK_LISTENER_H_ +#define QUICHE_HTTP2_CORE_HTTP2_HEADER_BLOCK_HPACK_LISTENER_H_ #include <string> #include <utility> @@ -49,4 +49,4 @@ } // namespace spdy -#endif // QUICHE_SPDY_CORE_HTTP2_HEADER_BLOCK_HPACK_LISTENER_H_ +#endif // QUICHE_HTTP2_CORE_HTTP2_HEADER_BLOCK_HPACK_LISTENER_H_
diff --git a/quiche/http2/core/http2_trace_logging.h b/quiche/http2/core/http2_trace_logging.h index 7106a72..84f7898 100644 --- a/quiche/http2/core/http2_trace_logging.h +++ b/quiche/http2/core/http2_trace_logging.h
@@ -8,12 +8,12 @@ #include <cstdint> #include "absl/strings/string_view.h" +#include "quiche/http2/core/recording_headers_handler.h" +#include "quiche/http2/core/spdy_headers_handler_interface.h" #include "quiche/common/platform/api/quiche_export.h" #include "quiche/common/platform/api/quiche_logging.h" #include "quiche/common/quiche_callbacks.h" #include "quiche/spdy/core/http2_frame_decoder_adapter.h" -#include "quiche/spdy/core/recording_headers_handler.h" -#include "quiche/spdy/core/spdy_headers_handler_interface.h" #include "quiche/spdy/core/spdy_protocol.h" // Logging macro to use for all HTTP/2 trace logging. Iff trace logging is
diff --git a/quiche/spdy/core/no_op_headers_handler.h b/quiche/http2/core/no_op_headers_handler.h similarity index 79% rename from quiche/spdy/core/no_op_headers_handler.h rename to quiche/http2/core/no_op_headers_handler.h index a4796e9..84244ca 100644 --- a/quiche/spdy/core/no_op_headers_handler.h +++ b/quiche/http2/core/no_op_headers_handler.h
@@ -1,12 +1,12 @@ -#ifndef QUICHE_SPDY_CORE_NO_OP_HEADERS_HANDLER_H_ -#define QUICHE_SPDY_CORE_NO_OP_HEADERS_HANDLER_H_ +#ifndef QUICHE_HTTP2_CORE_NO_OP_HEADERS_HANDLER_H_ +#define QUICHE_HTTP2_CORE_NO_OP_HEADERS_HANDLER_H_ #include <cstddef> #include "absl/strings/string_view.h" +#include "quiche/http2/core/header_byte_listener_interface.h" +#include "quiche/http2/core/spdy_headers_handler_interface.h" #include "quiche/common/platform/api/quiche_export.h" -#include "quiche/spdy/core/header_byte_listener_interface.h" -#include "quiche/spdy/core/spdy_headers_handler_interface.h" namespace spdy { @@ -38,4 +38,4 @@ } // namespace spdy -#endif // QUICHE_SPDY_CORE_NO_OP_HEADERS_HANDLER_H_ +#endif // QUICHE_HTTP2_CORE_NO_OP_HEADERS_HANDLER_H_
diff --git a/quiche/spdy/core/recording_headers_handler.cc b/quiche/http2/core/recording_headers_handler.cc similarity index 90% rename from quiche/spdy/core/recording_headers_handler.cc rename to quiche/http2/core/recording_headers_handler.cc index a1b0643..5285c7b 100644 --- a/quiche/spdy/core/recording_headers_handler.cc +++ b/quiche/http2/core/recording_headers_handler.cc
@@ -2,12 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "quiche/spdy/core/recording_headers_handler.h" +#include "quiche/http2/core/recording_headers_handler.h" #include <cstddef> #include "absl/strings/string_view.h" -#include "quiche/spdy/core/spdy_headers_handler_interface.h" +#include "quiche/http2/core/spdy_headers_handler_interface.h" namespace spdy {
diff --git a/quiche/spdy/core/recording_headers_handler.h b/quiche/http2/core/recording_headers_handler.h similarity index 86% rename from quiche/spdy/core/recording_headers_handler.h rename to quiche/http2/core/recording_headers_handler.h index c33a4ce..fe3655d 100644 --- a/quiche/spdy/core/recording_headers_handler.h +++ b/quiche/http2/core/recording_headers_handler.h
@@ -2,15 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef QUICHE_SPDY_CORE_RECORDING_HEADERS_HANDLER_H_ -#define QUICHE_SPDY_CORE_RECORDING_HEADERS_HANDLER_H_ +#ifndef QUICHE_HTTP2_CORE_RECORDING_HEADERS_HANDLER_H_ +#define QUICHE_HTTP2_CORE_RECORDING_HEADERS_HANDLER_H_ #include <cstddef> #include "absl/strings/string_view.h" +#include "quiche/http2/core/spdy_headers_handler_interface.h" #include "quiche/common/platform/api/quiche_export.h" #include "quiche/spdy/core/http2_header_block.h" -#include "quiche/spdy/core/spdy_headers_handler_interface.h" namespace spdy { @@ -46,4 +46,4 @@ } // namespace spdy -#endif // QUICHE_SPDY_CORE_RECORDING_HEADERS_HANDLER_H_ +#endif // QUICHE_HTTP2_CORE_RECORDING_HEADERS_HANDLER_H_
diff --git a/quiche/http2/core/spdy_headers_handler_interface.h b/quiche/http2/core/spdy_headers_handler_interface.h new file mode 100644 index 0000000..4b234fd --- /dev/null +++ b/quiche/http2/core/spdy_headers_handler_interface.h
@@ -0,0 +1,39 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef QUICHE_HTTP2_CORE_SPDY_HEADERS_HANDLER_INTERFACE_H_ +#define QUICHE_HTTP2_CORE_SPDY_HEADERS_HANDLER_INTERFACE_H_ + +#include <stddef.h> + +#include "absl/strings/string_view.h" +#include "quiche/common/platform/api/quiche_export.h" + +namespace spdy { + +// This interface defines how an object that accepts header data should behave. +// It is used by both SpdyHeadersBlockParser and HpackDecoder. +class QUICHE_EXPORT SpdyHeadersHandlerInterface { + public: + virtual ~SpdyHeadersHandlerInterface() {} + + // A callback method which notifies when the parser starts handling a new + // header block. Will only be called once per block, even if it extends into + // CONTINUATION frames. + virtual void OnHeaderBlockStart() = 0; + + // A callback method which notifies on a header key value pair. Multiple + // values for a given key will be emitted as multiple calls to OnHeader. + virtual void OnHeader(absl::string_view key, absl::string_view value) = 0; + + // A callback method which notifies when the parser finishes handling a + // header block (i.e. the containing frame has the END_HEADERS flag set). + // Also indicates the total number of bytes in this block. + virtual void OnHeaderBlockEnd(size_t uncompressed_header_bytes, + size_t compressed_header_bytes) = 0; +}; + +} // namespace spdy + +#endif // QUICHE_HTTP2_CORE_SPDY_HEADERS_HANDLER_INTERFACE_H_
diff --git a/quiche/spdy/core/spdy_no_op_visitor.cc b/quiche/http2/core/spdy_no_op_visitor.cc similarity index 87% rename from quiche/spdy/core/spdy_no_op_visitor.cc rename to quiche/http2/core/spdy_no_op_visitor.cc index 1623551..8361524 100644 --- a/quiche/spdy/core/spdy_no_op_visitor.cc +++ b/quiche/http2/core/spdy_no_op_visitor.cc
@@ -2,12 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "quiche/spdy/core/spdy_no_op_visitor.h" +#include "quiche/http2/core/spdy_no_op_visitor.h" #include <cstdint> #include <type_traits> -#include "quiche/spdy/core/spdy_headers_handler_interface.h" +#include "quiche/http2/core/spdy_headers_handler_interface.h" #include "quiche/spdy/core/spdy_protocol.h" namespace spdy {
diff --git a/quiche/spdy/core/spdy_no_op_visitor.h b/quiche/http2/core/spdy_no_op_visitor.h similarity index 95% rename from quiche/spdy/core/spdy_no_op_visitor.h rename to quiche/http2/core/spdy_no_op_visitor.h index 7125f3b..fc822bf 100644 --- a/quiche/spdy/core/spdy_no_op_visitor.h +++ b/quiche/http2/core/spdy_no_op_visitor.h
@@ -6,18 +6,18 @@ // to make it easier to write tests that need to provide instances. Other // interfaces can be added as needed. -#ifndef QUICHE_SPDY_CORE_SPDY_NO_OP_VISITOR_H_ -#define QUICHE_SPDY_CORE_SPDY_NO_OP_VISITOR_H_ +#ifndef QUICHE_HTTP2_CORE_SPDY_NO_OP_VISITOR_H_ +#define QUICHE_HTTP2_CORE_SPDY_NO_OP_VISITOR_H_ #include <cstddef> #include <cstdint> #include <string> #include "absl/strings/string_view.h" +#include "quiche/http2/core/spdy_headers_handler_interface.h" #include "quiche/common/platform/api/quiche_export.h" #include "quiche/spdy/core/http2_frame_decoder_adapter.h" #include "quiche/spdy/core/spdy_alt_svc_wire_format.h" -#include "quiche/spdy/core/spdy_headers_handler_interface.h" #include "quiche/spdy/core/spdy_protocol.h" namespace spdy { @@ -92,4 +92,4 @@ } // namespace spdy -#endif // QUICHE_SPDY_CORE_SPDY_NO_OP_VISITOR_H_ +#endif // QUICHE_HTTP2_CORE_SPDY_NO_OP_VISITOR_H_
diff --git a/quiche/spdy/core/zero_copy_output_buffer.h b/quiche/http2/core/zero_copy_output_buffer.h similarity index 83% rename from quiche/spdy/core/zero_copy_output_buffer.h rename to quiche/http2/core/zero_copy_output_buffer.h index 2ab92ed..87ccdab 100644 --- a/quiche/spdy/core/zero_copy_output_buffer.h +++ b/quiche/http2/core/zero_copy_output_buffer.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef QUICHE_SPDY_CORE_ZERO_COPY_OUTPUT_BUFFER_H_ -#define QUICHE_SPDY_CORE_ZERO_COPY_OUTPUT_BUFFER_H_ +#ifndef QUICHE_HTTP2_CORE_ZERO_COPY_OUTPUT_BUFFER_H_ +#define QUICHE_HTTP2_CORE_ZERO_COPY_OUTPUT_BUFFER_H_ #include <cstdint> @@ -29,4 +29,4 @@ } // namespace spdy -#endif // QUICHE_SPDY_CORE_ZERO_COPY_OUTPUT_BUFFER_H_ +#endif // QUICHE_HTTP2_CORE_ZERO_COPY_OUTPUT_BUFFER_H_
diff --git a/quiche/http2/test_tools/http2_trace_printer.h b/quiche/http2/test_tools/http2_trace_printer.h index b965ad8..6f27db1 100644 --- a/quiche/http2/test_tools/http2_trace_printer.h +++ b/quiche/http2/test_tools/http2_trace_printer.h
@@ -5,9 +5,9 @@ #include "absl/strings/string_view.h" #include "quiche/http2/core/http2_trace_logging.h" +#include "quiche/http2/core/spdy_no_op_visitor.h" #include "quiche/common/platform/api/quiche_export.h" #include "quiche/spdy/core/http2_frame_decoder_adapter.h" -#include "quiche/spdy/core/spdy_no_op_visitor.h" namespace http2 { namespace test {
diff --git a/quiche/http2/test_tools/mock_spdy_framer_visitor.h b/quiche/http2/test_tools/mock_spdy_framer_visitor.h index e873d6f..efec274 100644 --- a/quiche/http2/test_tools/mock_spdy_framer_visitor.h +++ b/quiche/http2/test_tools/mock_spdy_framer_visitor.h
@@ -11,12 +11,12 @@ #include <string> #include "absl/strings/string_view.h" +#include "quiche/http2/core/recording_headers_handler.h" +#include "quiche/http2/core/spdy_headers_handler_interface.h" #include "quiche/common/platform/api/quiche_export.h" #include "quiche/common/platform/api/quiche_test.h" #include "quiche/spdy/core/http2_frame_decoder_adapter.h" -#include "quiche/spdy/core/recording_headers_handler.h" #include "quiche/spdy/core/spdy_alt_svc_wire_format.h" -#include "quiche/spdy/core/spdy_headers_handler_interface.h" #include "quiche/spdy/core/spdy_protocol.h" // TODO(b/318698478): fix namespace and class name
diff --git a/quiche/quic/core/http/quic_header_list.h b/quiche/quic/core/http/quic_header_list.h index 335cf4b..51c2a82 100644 --- a/quiche/quic/core/http/quic_header_list.h +++ b/quiche/quic/core/http/quic_header_list.h
@@ -11,10 +11,10 @@ #include <utility> #include "absl/strings/string_view.h" +#include "quiche/http2/core/spdy_headers_handler_interface.h" #include "quiche/quic/platform/api/quic_bug_tracker.h" #include "quiche/quic/platform/api/quic_export.h" #include "quiche/common/quiche_circular_deque.h" -#include "quiche/spdy/core/spdy_headers_handler_interface.h" namespace quic {
diff --git a/quiche/quic/core/http/quic_headers_stream_test.cc b/quiche/quic/core/http/quic_headers_stream_test.cc index 2c7e226..48966a1 100644 --- a/quiche/quic/core/http/quic_headers_stream_test.cc +++ b/quiche/quic/core/http/quic_headers_stream_test.cc
@@ -14,6 +14,7 @@ #include "absl/strings/str_cat.h" #include "absl/strings/string_view.h" +#include "quiche/http2/core/recording_headers_handler.h" #include "quiche/http2/test_tools/spdy_test_utils.h" #include "quiche/quic/core/crypto/null_encrypter.h" #include "quiche/quic/core/http/spdy_utils.h" @@ -31,7 +32,6 @@ #include "quiche/common/quiche_endian.h" #include "quiche/spdy/core/http2_frame_decoder_adapter.h" #include "quiche/spdy/core/http2_header_block.h" -#include "quiche/spdy/core/recording_headers_handler.h" #include "quiche/spdy/core/spdy_alt_svc_wire_format.h" #include "quiche/spdy/core/spdy_protocol.h"
diff --git a/quiche/spdy/core/hpack/hpack_decoder_adapter.cc b/quiche/spdy/core/hpack/hpack_decoder_adapter.cc index b982778..4dcdc60 100644 --- a/quiche/spdy/core/hpack/hpack_decoder_adapter.cc +++ b/quiche/spdy/core/hpack/hpack_decoder_adapter.cc
@@ -8,11 +8,11 @@ #include <string> #include "absl/strings/string_view.h" +#include "quiche/http2/core/spdy_headers_handler_interface.h" #include "quiche/http2/decoder/decode_buffer.h" #include "quiche/http2/hpack/decoder/hpack_decoding_error.h" #include "quiche/common/platform/api/quiche_logging.h" #include "quiche/spdy/core/http2_header_block.h" -#include "quiche/spdy/core/spdy_headers_handler_interface.h" namespace spdy { namespace {
diff --git a/quiche/spdy/core/hpack/hpack_decoder_adapter.h b/quiche/spdy/core/hpack/hpack_decoder_adapter.h index d3d3dec..ba2ef97 100644 --- a/quiche/spdy/core/hpack/hpack_decoder_adapter.h +++ b/quiche/spdy/core/hpack/hpack_decoder_adapter.h
@@ -13,13 +13,13 @@ #include <string> #include "absl/strings/string_view.h" +#include "quiche/http2/core/no_op_headers_handler.h" +#include "quiche/http2/core/spdy_headers_handler_interface.h" #include "quiche/http2/hpack/decoder/hpack_decoder.h" #include "quiche/http2/hpack/decoder/hpack_decoder_listener.h" #include "quiche/http2/hpack/decoder/hpack_decoding_error.h" #include "quiche/common/platform/api/quiche_export.h" #include "quiche/spdy/core/http2_header_block.h" -#include "quiche/spdy/core/no_op_headers_handler.h" -#include "quiche/spdy/core/spdy_headers_handler_interface.h" namespace spdy { namespace test {
diff --git a/quiche/spdy/core/hpack/hpack_decoder_adapter_test.cc b/quiche/spdy/core/hpack/hpack_decoder_adapter_test.cc index fbd11ad..16f0eeb 100644 --- a/quiche/spdy/core/hpack/hpack_decoder_adapter_test.cc +++ b/quiche/spdy/core/hpack/hpack_decoder_adapter_test.cc
@@ -17,6 +17,7 @@ #include "absl/base/macros.h" #include "absl/strings/escaping.h" #include "absl/strings/string_view.h" +#include "quiche/http2/core/recording_headers_handler.h" #include "quiche/http2/hpack/decoder/hpack_decoder.h" #include "quiche/http2/hpack/decoder/hpack_decoder_state.h" #include "quiche/http2/hpack/decoder/hpack_decoder_tables.h" @@ -30,7 +31,6 @@ #include "quiche/common/platform/api/quiche_test.h" #include "quiche/common/quiche_text_utils.h" #include "quiche/spdy/core/http2_header_block.h" -#include "quiche/spdy/core/recording_headers_handler.h" using ::http2::HpackEntryType; using ::http2::HpackStringPair;
diff --git a/quiche/spdy/core/hpack/hpack_round_trip_test.cc b/quiche/spdy/core/hpack/hpack_round_trip_test.cc index db39349..e21c030 100644 --- a/quiche/spdy/core/hpack/hpack_round_trip_test.cc +++ b/quiche/spdy/core/hpack/hpack_round_trip_test.cc
@@ -8,12 +8,12 @@ #include <string> #include <vector> +#include "quiche/http2/core/recording_headers_handler.h" #include "quiche/http2/hpack/hpack_encoder.h" #include "quiche/http2/test_tools/http2_random.h" #include "quiche/common/platform/api/quiche_test.h" #include "quiche/spdy/core/hpack/hpack_decoder_adapter.h" #include "quiche/spdy/core/http2_header_block.h" -#include "quiche/spdy/core/recording_headers_handler.h" namespace spdy { namespace test {
diff --git a/quiche/spdy/core/http2_frame_decoder_adapter.cc b/quiche/spdy/core/http2_frame_decoder_adapter.cc index f8c7052..8eb9370 100644 --- a/quiche/spdy/core/http2_frame_decoder_adapter.cc +++ b/quiche/spdy/core/http2_frame_decoder_adapter.cc
@@ -17,6 +17,7 @@ #include <string> #include "absl/strings/string_view.h" +#include "quiche/http2/core/spdy_headers_handler_interface.h" #include "quiche/http2/decoder/decode_buffer.h" #include "quiche/http2/decoder/decode_status.h" #include "quiche/http2/decoder/http2_frame_decoder.h" @@ -29,7 +30,6 @@ #include "quiche/common/quiche_endian.h" #include "quiche/spdy/core/hpack/hpack_decoder_adapter.h" #include "quiche/spdy/core/spdy_alt_svc_wire_format.h" -#include "quiche/spdy/core/spdy_headers_handler_interface.h" #include "quiche/spdy/core/spdy_protocol.h" using ::spdy::ExtensionVisitorInterface;
diff --git a/quiche/spdy/core/http2_frame_decoder_adapter.h b/quiche/spdy/core/http2_frame_decoder_adapter.h index fab2669..33249a3 100644 --- a/quiche/spdy/core/http2_frame_decoder_adapter.h +++ b/quiche/spdy/core/http2_frame_decoder_adapter.h
@@ -13,6 +13,7 @@ #include <string> #include "absl/strings/string_view.h" +#include "quiche/http2/core/spdy_headers_handler_interface.h" #include "quiche/http2/decoder/decode_status.h" #include "quiche/http2/decoder/http2_frame_decoder.h" #include "quiche/http2/decoder/http2_frame_decoder_listener.h" @@ -21,7 +22,6 @@ #include "quiche/common/platform/api/quiche_export.h" #include "quiche/spdy/core/hpack/hpack_decoder_adapter.h" #include "quiche/spdy/core/spdy_alt_svc_wire_format.h" -#include "quiche/spdy/core/spdy_headers_handler_interface.h" #include "quiche/spdy/core/spdy_protocol.h" namespace spdy {
diff --git a/quiche/spdy/core/http2_frame_decoder_adapter_fuzzer.cc b/quiche/spdy/core/http2_frame_decoder_adapter_fuzzer.cc index 260d6c4..188b46f 100644 --- a/quiche/spdy/core/http2_frame_decoder_adapter_fuzzer.cc +++ b/quiche/spdy/core/http2_frame_decoder_adapter_fuzzer.cc
@@ -1,8 +1,8 @@ #include <cstddef> #include <cstdint> +#include "quiche/http2/core/spdy_no_op_visitor.h" #include "quiche/spdy/core/http2_frame_decoder_adapter.h" -#include "quiche/spdy/core/spdy_no_op_visitor.h" extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { spdy::SpdyNoOpVisitor visitor;
diff --git a/quiche/spdy/core/spdy_frame_builder.cc b/quiche/spdy/core/spdy_frame_builder.cc index 30a9ddc..783fd03 100644 --- a/quiche/spdy/core/spdy_frame_builder.cc +++ b/quiche/spdy/core/spdy_frame_builder.cc
@@ -10,11 +10,11 @@ #include <cstring> #include "absl/strings/string_view.h" +#include "quiche/http2/core/zero_copy_output_buffer.h" #include "quiche/common/platform/api/quiche_bug_tracker.h" #include "quiche/common/platform/api/quiche_logging.h" #include "quiche/spdy/core/spdy_bitmasks.h" #include "quiche/spdy/core/spdy_protocol.h" -#include "quiche/spdy/core/zero_copy_output_buffer.h" namespace spdy {
diff --git a/quiche/spdy/core/spdy_frame_builder.h b/quiche/spdy/core/spdy_frame_builder.h index 52cb1b0..829c878 100644 --- a/quiche/spdy/core/spdy_frame_builder.h +++ b/quiche/spdy/core/spdy_frame_builder.h
@@ -10,11 +10,11 @@ #include <memory> #include "absl/strings/string_view.h" +#include "quiche/http2/core/zero_copy_output_buffer.h" #include "quiche/common/platform/api/quiche_bug_tracker.h" #include "quiche/common/platform/api/quiche_export.h" #include "quiche/common/quiche_endian.h" #include "quiche/spdy/core/spdy_protocol.h" -#include "quiche/spdy/core/zero_copy_output_buffer.h" namespace spdy {
diff --git a/quiche/spdy/core/spdy_frame_builder_test.cc b/quiche/spdy/core/spdy_frame_builder_test.cc index a4f5ac4..4992ead 100644 --- a/quiche/spdy/core/spdy_frame_builder_test.cc +++ b/quiche/spdy/core/spdy_frame_builder_test.cc
@@ -9,10 +9,10 @@ #include <cstring> #include "absl/strings/string_view.h" +#include "quiche/http2/core/array_output_buffer.h" #include "quiche/http2/test_tools/spdy_test_utils.h" #include "quiche/common/platform/api/quiche_export.h" #include "quiche/common/platform/api/quiche_test.h" -#include "quiche/spdy/core/array_output_buffer.h" #include "quiche/spdy/core/spdy_protocol.h" namespace spdy {
diff --git a/quiche/spdy/core/spdy_framer.cc b/quiche/spdy/core/spdy_framer.cc index 097aaac..2e30a95 100644 --- a/quiche/spdy/core/spdy_framer.cc +++ b/quiche/spdy/core/spdy_framer.cc
@@ -13,6 +13,7 @@ #include "absl/base/attributes.h" #include "absl/memory/memory.h" +#include "quiche/http2/core/zero_copy_output_buffer.h" #include "quiche/http2/hpack/hpack_constants.h" #include "quiche/http2/hpack/hpack_encoder.h" #include "quiche/common/platform/api/quiche_bug_tracker.h" @@ -21,7 +22,6 @@ #include "quiche/spdy/core/spdy_alt_svc_wire_format.h" #include "quiche/spdy/core/spdy_frame_builder.h" #include "quiche/spdy/core/spdy_protocol.h" -#include "quiche/spdy/core/zero_copy_output_buffer.h" namespace spdy {
diff --git a/quiche/spdy/core/spdy_framer.h b/quiche/spdy/core/spdy_framer.h index c9f8200..e660ed5 100644 --- a/quiche/spdy/core/spdy_framer.h +++ b/quiche/spdy/core/spdy_framer.h
@@ -12,10 +12,10 @@ #include <string> #include <utility> +#include "quiche/http2/core/zero_copy_output_buffer.h" #include "quiche/http2/hpack/hpack_encoder.h" #include "quiche/common/platform/api/quiche_export.h" #include "quiche/spdy/core/spdy_protocol.h" -#include "quiche/spdy/core/zero_copy_output_buffer.h" namespace spdy {
diff --git a/quiche/spdy/core/spdy_framer_test.cc b/quiche/spdy/core/spdy_framer_test.cc index 0e4cb03..8b0ae57 100644 --- a/quiche/spdy/core/spdy_framer_test.cc +++ b/quiche/spdy/core/spdy_framer_test.cc
@@ -18,20 +18,20 @@ #include "absl/base/macros.h" #include "absl/strings/string_view.h" +#include "quiche/http2/core/array_output_buffer.h" +#include "quiche/http2/core/recording_headers_handler.h" +#include "quiche/http2/core/spdy_headers_handler_interface.h" #include "quiche/http2/hpack/hpack_encoder.h" #include "quiche/http2/test_tools/mock_spdy_framer_visitor.h" #include "quiche/http2/test_tools/spdy_test_utils.h" #include "quiche/common/platform/api/quiche_logging.h" #include "quiche/common/platform/api/quiche_test.h" #include "quiche/common/quiche_text_utils.h" -#include "quiche/spdy/core/array_output_buffer.h" #include "quiche/spdy/core/http2_frame_decoder_adapter.h" #include "quiche/spdy/core/http2_header_block.h" -#include "quiche/spdy/core/recording_headers_handler.h" #include "quiche/spdy/core/spdy_alt_svc_wire_format.h" #include "quiche/spdy/core/spdy_bitmasks.h" #include "quiche/spdy/core/spdy_frame_builder.h" -#include "quiche/spdy/core/spdy_headers_handler_interface.h" #include "quiche/spdy/core/spdy_protocol.h" using ::http2::Http2DecoderAdapter;
diff --git a/quiche/spdy/core/spdy_headers_handler_interface.h b/quiche/spdy/core/spdy_headers_handler_interface.h index 6298741..8134781 100644 --- a/quiche/spdy/core/spdy_headers_handler_interface.h +++ b/quiche/spdy/core/spdy_headers_handler_interface.h
@@ -5,35 +5,6 @@ #ifndef QUICHE_SPDY_CORE_SPDY_HEADERS_HANDLER_INTERFACE_H_ #define QUICHE_SPDY_CORE_SPDY_HEADERS_HANDLER_INTERFACE_H_ -#include <stddef.h> - -#include "absl/strings/string_view.h" -#include "quiche/common/platform/api/quiche_export.h" - -namespace spdy { - -// This interface defines how an object that accepts header data should behave. -// It is used by both SpdyHeadersBlockParser and HpackDecoder. -class QUICHE_EXPORT SpdyHeadersHandlerInterface { - public: - virtual ~SpdyHeadersHandlerInterface() {} - - // A callback method which notifies when the parser starts handling a new - // header block. Will only be called once per block, even if it extends into - // CONTINUATION frames. - virtual void OnHeaderBlockStart() = 0; - - // A callback method which notifies on a header key value pair. Multiple - // values for a given key will be emitted as multiple calls to OnHeader. - virtual void OnHeader(absl::string_view key, absl::string_view value) = 0; - - // A callback method which notifies when the parser finishes handling a - // header block (i.e. the containing frame has the END_HEADERS flag set). - // Also indicates the total number of bytes in this block. - virtual void OnHeaderBlockEnd(size_t uncompressed_header_bytes, - size_t compressed_header_bytes) = 0; -}; - -} // namespace spdy +#include "quiche/http2/core/spdy_headers_handler_interface.h" #endif // QUICHE_SPDY_CORE_SPDY_HEADERS_HANDLER_INTERFACE_H_