Relax BasicPortAllocator to take TaskQueue instead of Thread This class already uses only TaskQueueBase interface of the Thread Bug: webrtc:42225410 Change-Id: I1147c8b22046d6089ea2be095d34495515ccc710 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/476260 Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org> Auto-Submit: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#47884}
diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn index 3b76b26..5e9e53d 100644 --- a/p2p/BUILD.gn +++ b/p2p/BUILD.gn
@@ -139,6 +139,7 @@ "../api:sequence_checker", "../api:turn_customizer", "../api/environment", + "../api/task_queue", "../api/task_queue:pending_task_safety_flag", "../api/transport:enums", "../api/units:time_delta", @@ -154,7 +155,6 @@ "../rtc_base:network_constants", "../rtc_base:socket_address", "../rtc_base:stringutils", - "../rtc_base:threading", "../rtc_base/memory:always_valid_pointer", "../rtc_base/network:received_packet", "../rtc_base/system:rtc_export", @@ -894,9 +894,9 @@ "../api:local_network_access_permission", "../api:packet_socket_factory", "../api/environment", + "../api/task_queue", "../rtc_base:async_packet_socket", "../rtc_base:network", - "../rtc_base:threading", ] }
diff --git a/p2p/client/basic_port_allocator.cc b/p2p/client/basic_port_allocator.cc index 22dc035..4df3e22 100644 --- a/p2p/client/basic_port_allocator.cc +++ b/p2p/client/basic_port_allocator.cc
@@ -32,6 +32,7 @@ #include "api/packet_socket_factory.h" #include "api/sequence_checker.h" #include "api/task_queue/pending_task_safety_flag.h" +#include "api/task_queue/task_queue_base.h" #include "api/transport/enums.h" #include "api/units/time_delta.h" #include "p2p/base/port.h" @@ -52,7 +53,6 @@ #include "rtc_base/network_constants.h" #include "rtc_base/socket_address.h" #include "rtc_base/strings/string_builder.h" -#include "rtc_base/thread.h" #include "rtc_base/trace_event.h" namespace webrtc { @@ -260,7 +260,7 @@ ice_pwd, allocator->flags()), allocator_(allocator), - network_thread_(Thread::Current()), + network_thread_(TaskQueueBase::Current()), socket_factory_(allocator->socket_factory()), allocation_started_(false), network_manager_started_(false), @@ -1394,7 +1394,7 @@ } void AllocationSequence::Process(int epoch) { - RTC_DCHECK(Thread::Current() == session_->network_thread()); + RTC_DCHECK(TaskQueueBase::Current() == session_->network_thread()); const char* const PHASE_NAMES[kNumPhases] = {"Udp", "Relay", "Tcp"}; if (epoch != epoch_)
diff --git a/p2p/client/basic_port_allocator.h b/p2p/client/basic_port_allocator.h index d274eb5..97c1a7d 100644 --- a/p2p/client/basic_port_allocator.h +++ b/p2p/client/basic_port_allocator.h
@@ -27,6 +27,7 @@ #include "api/local_network_access_permission.h" #include "api/packet_socket_factory.h" #include "api/task_queue/pending_task_safety_flag.h" +#include "api/task_queue/task_queue_base.h" #include "api/transport/enums.h" #include "api/turn_customizer.h" #include "api/units/time_delta.h" @@ -46,7 +47,6 @@ #include "rtc_base/network/received_packet.h" #include "rtc_base/socket_address.h" #include "rtc_base/system/rtc_export.h" -#include "rtc_base/thread.h" #include "rtc_base/thread_annotations.h" namespace webrtc { @@ -145,7 +145,7 @@ ~BasicPortAllocatorSession() override; virtual BasicPortAllocator* allocator(); - Thread* network_thread() { return network_thread_; } + TaskQueueBase* network_thread() { return network_thread_; } PacketSocketFactory* socket_factory() { return socket_factory_; } // If the new filter allows new types of candidates compared to the previous @@ -292,7 +292,7 @@ bool PruneNewlyPairableTurnPort(PortData* newly_pairable_turn_port); BasicPortAllocator* allocator_; - Thread* network_thread_; + TaskQueueBase* network_thread_; PacketSocketFactory* socket_factory_; bool allocation_started_; bool network_manager_started_;
diff --git a/p2p/client/relay_port_factory_interface.h b/p2p/client/relay_port_factory_interface.h index 2bcb2e0..5821e74 100644 --- a/p2p/client/relay_port_factory_interface.h +++ b/p2p/client/relay_port_factory_interface.h
@@ -17,11 +17,11 @@ #include "api/environment/environment.h" #include "api/local_network_access_permission.h" #include "api/packet_socket_factory.h" +#include "api/task_queue/task_queue_base.h" #include "p2p/base/port.h" #include "p2p/base/port_allocator.h" #include "rtc_base/async_packet_socket.h" #include "rtc_base/network.h" -#include "rtc_base/thread.h" namespace webrtc { class TurnCustomizer; @@ -33,7 +33,7 @@ // A struct containing arguments to RelayPortFactory::Create() struct CreateRelayPortArgs { Environment env; - Thread* network_thread; + TaskQueueBase* network_thread; PacketSocketFactory* socket_factory; const Network* network; const ProtocolAddress* server_address;