Adds a ChunkedBuffer class to contain HTTP/2 wire format bytes. This will replace a std::string used for this purpose in OgHttp2Session. Possible future extensions: * use QuicheBuffer or QuicheMemSlice as the memory region type in ChunkBuffer::Chunk * implement spdy::ZeroCopyOutputBuffer or write an adapter, for direct frame serialization PiperOrigin-RevId: 626495713
diff --git a/build/source_list.bzl b/build/source_list.bzl index 334b02a..2e6cd92 100644 --- a/build/source_list.bzl +++ b/build/source_list.bzl
@@ -60,6 +60,7 @@ "common/simple_buffer_allocator.h", "common/structured_headers.h", "common/wire_serialization.h", + "http2/adapter/chunked_buffer.h", "http2/adapter/data_source.h", "http2/adapter/event_forwarder.h", "http2/adapter/header_validator.h", @@ -418,6 +419,7 @@ "common/quiche_text_utils.cc", "common/simple_buffer_allocator.cc", "common/structured_headers.cc", + "http2/adapter/chunked_buffer.cc", "http2/adapter/event_forwarder.cc", "http2/adapter/header_validator.cc", "http2/adapter/http2_protocol.cc", @@ -1092,6 +1094,7 @@ "common/test_tools/mock_streams_test.cc", "common/test_tools/quiche_test_utils_test.cc", "common/wire_serialization_test.cc", + "http2/adapter/chunked_buffer_test.cc", "http2/adapter/event_forwarder_test.cc", "http2/adapter/header_validator_test.cc", "http2/adapter/noop_header_validator_test.cc",
diff --git a/build/source_list.gni b/build/source_list.gni index 8ee941e..5105182 100644 --- a/build/source_list.gni +++ b/build/source_list.gni
@@ -60,6 +60,7 @@ "src/quiche/common/simple_buffer_allocator.h", "src/quiche/common/structured_headers.h", "src/quiche/common/wire_serialization.h", + "src/quiche/http2/adapter/chunked_buffer.h", "src/quiche/http2/adapter/data_source.h", "src/quiche/http2/adapter/event_forwarder.h", "src/quiche/http2/adapter/header_validator.h", @@ -418,6 +419,7 @@ "src/quiche/common/quiche_text_utils.cc", "src/quiche/common/simple_buffer_allocator.cc", "src/quiche/common/structured_headers.cc", + "src/quiche/http2/adapter/chunked_buffer.cc", "src/quiche/http2/adapter/event_forwarder.cc", "src/quiche/http2/adapter/header_validator.cc", "src/quiche/http2/adapter/http2_protocol.cc", @@ -1093,6 +1095,7 @@ "src/quiche/common/test_tools/mock_streams_test.cc", "src/quiche/common/test_tools/quiche_test_utils_test.cc", "src/quiche/common/wire_serialization_test.cc", + "src/quiche/http2/adapter/chunked_buffer_test.cc", "src/quiche/http2/adapter/event_forwarder_test.cc", "src/quiche/http2/adapter/header_validator_test.cc", "src/quiche/http2/adapter/noop_header_validator_test.cc",
diff --git a/build/source_list.json b/build/source_list.json index c58090b..7b749af 100644 --- a/build/source_list.json +++ b/build/source_list.json
@@ -59,6 +59,7 @@ "quiche/common/simple_buffer_allocator.h", "quiche/common/structured_headers.h", "quiche/common/wire_serialization.h", + "quiche/http2/adapter/chunked_buffer.h", "quiche/http2/adapter/data_source.h", "quiche/http2/adapter/event_forwarder.h", "quiche/http2/adapter/header_validator.h", @@ -417,6 +418,7 @@ "quiche/common/quiche_text_utils.cc", "quiche/common/simple_buffer_allocator.cc", "quiche/common/structured_headers.cc", + "quiche/http2/adapter/chunked_buffer.cc", "quiche/http2/adapter/event_forwarder.cc", "quiche/http2/adapter/header_validator.cc", "quiche/http2/adapter/http2_protocol.cc", @@ -1092,6 +1094,7 @@ "quiche/common/test_tools/mock_streams_test.cc", "quiche/common/test_tools/quiche_test_utils_test.cc", "quiche/common/wire_serialization_test.cc", + "quiche/http2/adapter/chunked_buffer_test.cc", "quiche/http2/adapter/event_forwarder_test.cc", "quiche/http2/adapter/header_validator_test.cc", "quiche/http2/adapter/noop_header_validator_test.cc",