Provide a libevent-based version of QuicEventLoop
Rationale:
- libevent has scalable backends for all platforms, including Windows
- libevent has a feature to wake up an event loop from different threads; this is really hard to implement consistently across all platforms.
Also fix some build failures under --config=gce
PiperOrigin-RevId: 459268214
diff --git a/build/source_list.bzl b/build/source_list.bzl
index 0bb50d2..673c5b7 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -1002,6 +1002,7 @@
"epoll_server/platform/api/epoll_address_test_utils.h",
"epoll_server/platform/api/epoll_expect_bug.h",
"epoll_server/platform/api/epoll_test.h",
+ "quic/bindings/quic_libevent.h",
"quic/test_tools/quic_client_peer.h",
"quic/test_tools/quic_mock_syscall_wrapper.h",
"quic/test_tools/quic_server_peer.h",
@@ -1011,6 +1012,7 @@
]
epoll_test_support_srcs = [
"epoll_server/fake_simple_epoll_server.cc",
+ "quic/bindings/quic_libevent.cc",
"quic/test_tools/quic_client_peer.cc",
"quic/test_tools/quic_mock_syscall_wrapper.cc",
"quic/test_tools/quic_server_peer.cc",
@@ -1098,6 +1100,7 @@
"http2/test_tools/http2_frame_builder_test.cc",
"http2/test_tools/http2_random_test.cc",
"http2/test_tools/random_decoder_test_base_test.cc",
+ "quic/bindings/quic_libevent_test.cc",
"quic/core/congestion_control/bandwidth_sampler_test.cc",
"quic/core/congestion_control/bbr2_simulator_test.cc",
"quic/core/congestion_control/bbr_sender_test.cc",
diff --git a/build/source_list.gni b/build/source_list.gni
index 018f0fe..1b35497 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -1002,6 +1002,7 @@
"src/quiche/epoll_server/platform/api/epoll_address_test_utils.h",
"src/quiche/epoll_server/platform/api/epoll_expect_bug.h",
"src/quiche/epoll_server/platform/api/epoll_test.h",
+ "src/quiche/quic/bindings/quic_libevent.h",
"src/quiche/quic/test_tools/quic_client_peer.h",
"src/quiche/quic/test_tools/quic_mock_syscall_wrapper.h",
"src/quiche/quic/test_tools/quic_server_peer.h",
@@ -1011,6 +1012,7 @@
]
epoll_test_support_srcs = [
"src/quiche/epoll_server/fake_simple_epoll_server.cc",
+ "src/quiche/quic/bindings/quic_libevent.cc",
"src/quiche/quic/test_tools/quic_client_peer.cc",
"src/quiche/quic/test_tools/quic_mock_syscall_wrapper.cc",
"src/quiche/quic/test_tools/quic_server_peer.cc",
@@ -1098,6 +1100,7 @@
"src/quiche/http2/test_tools/http2_frame_builder_test.cc",
"src/quiche/http2/test_tools/http2_random_test.cc",
"src/quiche/http2/test_tools/random_decoder_test_base_test.cc",
+ "src/quiche/quic/bindings/quic_libevent_test.cc",
"src/quiche/quic/core/congestion_control/bandwidth_sampler_test.cc",
"src/quiche/quic/core/congestion_control/bbr2_simulator_test.cc",
"src/quiche/quic/core/congestion_control/bbr_sender_test.cc",
diff --git a/build/source_list.json b/build/source_list.json
index 8566044..b6386c2 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -1001,6 +1001,7 @@
"quiche/epoll_server/platform/api/epoll_address_test_utils.h",
"quiche/epoll_server/platform/api/epoll_expect_bug.h",
"quiche/epoll_server/platform/api/epoll_test.h",
+ "quiche/quic/bindings/quic_libevent.h",
"quiche/quic/test_tools/quic_client_peer.h",
"quiche/quic/test_tools/quic_mock_syscall_wrapper.h",
"quiche/quic/test_tools/quic_server_peer.h",
@@ -1010,6 +1011,7 @@
],
"epoll_test_support_srcs": [
"quiche/epoll_server/fake_simple_epoll_server.cc",
+ "quiche/quic/bindings/quic_libevent.cc",
"quiche/quic/test_tools/quic_client_peer.cc",
"quiche/quic/test_tools/quic_mock_syscall_wrapper.cc",
"quiche/quic/test_tools/quic_server_peer.cc",
@@ -1097,6 +1099,7 @@
"quiche/http2/test_tools/http2_frame_builder_test.cc",
"quiche/http2/test_tools/http2_random_test.cc",
"quiche/http2/test_tools/random_decoder_test_base_test.cc",
+ "quiche/quic/bindings/quic_libevent_test.cc",
"quiche/quic/core/congestion_control/bandwidth_sampler_test.cc",
"quiche/quic/core/congestion_control/bbr2_simulator_test.cc",
"quiche/quic/core/congestion_control/bbr_sender_test.cc",