Implement a new API for serializing data into QUIC wire format.
Also rewrite the Capsule serialization logic to use the new API.
I started working on WebTransport over HTTP/2 capsules recently, and realized that the existing code requires too much boilerplate per capsule to be sustainable. This CL is an effort to reduce the cost of adding individual capsules.
PiperOrigin-RevId: 504643109
diff --git a/build/source_list.json b/build/source_list.json
index 495f110..d03d722 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -56,10 +56,12 @@
"quiche/common/quiche_mem_slice_storage.h",
"quiche/common/quiche_protocol_flags_list.h",
"quiche/common/quiche_random.h",
+ "quiche/common/quiche_status_utils.h",
"quiche/common/quiche_stream.h",
"quiche/common/quiche_text_utils.h",
"quiche/common/simple_buffer_allocator.h",
"quiche/common/structured_headers.h",
+ "quiche/common/wire_serialization.h",
"quiche/http2/adapter/data_source.h",
"quiche/http2/adapter/event_forwarder.h",
"quiche/http2/adapter/header_validator.h",
@@ -1049,6 +1051,7 @@
"quiche/common/structured_headers_generated_test.cc",
"quiche/common/structured_headers_test.cc",
"quiche/common/test_tools/quiche_test_utils_test.cc",
+ "quiche/common/wire_serialization_test.cc",
"quiche/http2/adapter/event_forwarder_test.cc",
"quiche/http2/adapter/header_validator_test.cc",
"quiche/http2/adapter/noop_header_validator_test.cc",