In GFE simple clients, change the socket fd configurators to run before bind(), because some socket options(e.g. Enable AnyIp and DualStack) must be set before it. PiperOrigin-RevId: 607856194
diff --git a/quiche/quic/test_tools/quic_test_client.cc b/quiche/quic/test_tools/quic_test_client.cc index d3c26bb..edfa0a0 100644 --- a/quiche/quic/test_tools/quic_test_client.cc +++ b/quiche/quic/test_tools/quic_test_client.cc
@@ -147,15 +147,18 @@ } } -bool MockableQuicClientDefaultNetworkHelper::CreateUDPSocketAndBind( - QuicSocketAddress server_address, QuicIpAddress bind_to_address, - int bind_to_port) { - bool result = QuicClientDefaultNetworkHelper::CreateUDPSocketAndBind( - server_address, bind_to_address, bind_to_port); - if (result && socket_fd_configurator_ != nullptr) { - socket_fd_configurator_(GetLatestFD()); +SocketFd MockableQuicClientDefaultNetworkHelper::CreateUDPSocket( + QuicSocketAddress server_address, bool* overflow_supported) { + SocketFd fd = QuicClientDefaultNetworkHelper::CreateUDPSocket( + server_address, overflow_supported); + if (fd < 0) { + return fd; } - return result; + + if (socket_fd_configurator_ != nullptr) { + socket_fd_configurator_(fd); + } + return fd; } QuicPacketWriter*
diff --git a/quiche/quic/test_tools/quic_test_client.h b/quiche/quic/test_tools/quic_test_client.h index 4cf4ae7..4920187 100644 --- a/quiche/quic/test_tools/quic_test_client.h +++ b/quiche/quic/test_tools/quic_test_client.h
@@ -38,9 +38,8 @@ const QuicSocketAddress& peer_address, const QuicReceivedPacket& packet) override; - bool CreateUDPSocketAndBind(QuicSocketAddress server_address, - QuicIpAddress bind_to_address, - int bind_to_port) override; + SocketFd CreateUDPSocket(QuicSocketAddress server_address, + bool* overflow_supported) override; QuicPacketWriter* CreateQuicPacketWriter() override;