Implement the Devious Baton protocol in QUICHE
Also add a web_transport_test_server binary that exposes WebTransport test visitors in addition to the devious-baton endpoint.
PiperOrigin-RevId: 550376350
diff --git a/build/source_list.bzl b/build/source_list.bzl
index f4149a8..c9a704d 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -404,6 +404,7 @@
"spdy/core/spdy_protocol.h",
"spdy/core/spdy_simple_arena.h",
"spdy/core/zero_copy_output_buffer.h",
+ "web_transport/complete_buffer_visitor.h",
"web_transport/web_transport.h",
]
quiche_core_srcs = [
@@ -701,6 +702,7 @@
"spdy/core/spdy_prefixed_buffer_reader.cc",
"spdy/core/spdy_protocol.cc",
"spdy/core/spdy_simple_arena.cc",
+ "web_transport/complete_buffer_visitor.cc",
]
quiche_tool_support_hdrs = [
"common/platform/api/quiche_command_line_flags.h",
@@ -711,6 +713,7 @@
"quic/tools/connect_server_backend.h",
"quic/tools/connect_tunnel.h",
"quic/tools/connect_udp_tunnel.h",
+ "quic/tools/devious_baton.h",
"quic/tools/fake_proof_verifier.h",
"quic/tools/quic_backend_response.h",
"quic/tools/quic_client_base.h",
@@ -735,6 +738,7 @@
"quic/tools/connect_server_backend.cc",
"quic/tools/connect_tunnel.cc",
"quic/tools/connect_udp_tunnel.cc",
+ "quic/tools/devious_baton.cc",
"quic/tools/quic_backend_response.cc",
"quic/tools/quic_client_base.cc",
"quic/tools/quic_memory_cache_backend.cc",
@@ -1351,6 +1355,7 @@
"quic/tools/quic_server_factory.cc",
"quic/tools/quic_toy_client.cc",
"quic/tools/quic_toy_server.cc",
+ "quic/tools/web_transport_test_server.cc",
]
nghttp2_hdrs = [
"http2/adapter/callback_visitor.h",
diff --git a/build/source_list.gni b/build/source_list.gni
index d5ee1d3..d701cd5 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -404,6 +404,7 @@
"src/quiche/spdy/core/spdy_protocol.h",
"src/quiche/spdy/core/spdy_simple_arena.h",
"src/quiche/spdy/core/zero_copy_output_buffer.h",
+ "src/quiche/web_transport/complete_buffer_visitor.h",
"src/quiche/web_transport/web_transport.h",
]
quiche_core_srcs = [
@@ -701,6 +702,7 @@
"src/quiche/spdy/core/spdy_prefixed_buffer_reader.cc",
"src/quiche/spdy/core/spdy_protocol.cc",
"src/quiche/spdy/core/spdy_simple_arena.cc",
+ "src/quiche/web_transport/complete_buffer_visitor.cc",
]
quiche_tool_support_hdrs = [
"src/quiche/common/platform/api/quiche_command_line_flags.h",
@@ -711,6 +713,7 @@
"src/quiche/quic/tools/connect_server_backend.h",
"src/quiche/quic/tools/connect_tunnel.h",
"src/quiche/quic/tools/connect_udp_tunnel.h",
+ "src/quiche/quic/tools/devious_baton.h",
"src/quiche/quic/tools/fake_proof_verifier.h",
"src/quiche/quic/tools/quic_backend_response.h",
"src/quiche/quic/tools/quic_client_base.h",
@@ -735,6 +738,7 @@
"src/quiche/quic/tools/connect_server_backend.cc",
"src/quiche/quic/tools/connect_tunnel.cc",
"src/quiche/quic/tools/connect_udp_tunnel.cc",
+ "src/quiche/quic/tools/devious_baton.cc",
"src/quiche/quic/tools/quic_backend_response.cc",
"src/quiche/quic/tools/quic_client_base.cc",
"src/quiche/quic/tools/quic_memory_cache_backend.cc",
@@ -1354,6 +1358,7 @@
"src/quiche/quic/tools/quic_server_factory.cc",
"src/quiche/quic/tools/quic_toy_client.cc",
"src/quiche/quic/tools/quic_toy_server.cc",
+ "src/quiche/quic/tools/web_transport_test_server.cc",
]
nghttp2_hdrs = [
"src/quiche/http2/adapter/callback_visitor.h",
diff --git a/build/source_list.json b/build/source_list.json
index 2a33437..118a360 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -403,6 +403,7 @@
"quiche/spdy/core/spdy_protocol.h",
"quiche/spdy/core/spdy_simple_arena.h",
"quiche/spdy/core/zero_copy_output_buffer.h",
+ "quiche/web_transport/complete_buffer_visitor.h",
"quiche/web_transport/web_transport.h"
],
"quiche_core_srcs": [
@@ -699,7 +700,8 @@
"quiche/spdy/core/spdy_pinnable_buffer_piece.cc",
"quiche/spdy/core/spdy_prefixed_buffer_reader.cc",
"quiche/spdy/core/spdy_protocol.cc",
- "quiche/spdy/core/spdy_simple_arena.cc"
+ "quiche/spdy/core/spdy_simple_arena.cc",
+ "quiche/web_transport/complete_buffer_visitor.cc"
],
"quiche_tool_support_hdrs": [
"quiche/common/platform/api/quiche_command_line_flags.h",
@@ -710,6 +712,7 @@
"quiche/quic/tools/connect_server_backend.h",
"quiche/quic/tools/connect_tunnel.h",
"quiche/quic/tools/connect_udp_tunnel.h",
+ "quiche/quic/tools/devious_baton.h",
"quiche/quic/tools/fake_proof_verifier.h",
"quiche/quic/tools/quic_backend_response.h",
"quiche/quic/tools/quic_client_base.h",
@@ -734,6 +737,7 @@
"quiche/quic/tools/connect_server_backend.cc",
"quiche/quic/tools/connect_tunnel.cc",
"quiche/quic/tools/connect_udp_tunnel.cc",
+ "quiche/quic/tools/devious_baton.cc",
"quiche/quic/tools/quic_backend_response.cc",
"quiche/quic/tools/quic_client_base.cc",
"quiche/quic/tools/quic_memory_cache_backend.cc",
@@ -1352,7 +1356,8 @@
"quiche/quic/tools/quic_server_bin.cc",
"quiche/quic/tools/quic_server_factory.cc",
"quiche/quic/tools/quic_toy_client.cc",
- "quiche/quic/tools/quic_toy_server.cc"
+ "quiche/quic/tools/quic_toy_server.cc",
+ "quiche/quic/tools/web_transport_test_server.cc"
],
"nghttp2_hdrs": [
"quiche/http2/adapter/callback_visitor.h",