Delete AsyncInvoker usage from StunProber
Bug: webrtc:12339 Change-Id: I643a06a26d5aa38e135c252d5b71aee3d073ea3b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212504 Reviewed-by: Taylor <deadbeef@webrtc.org> Commit-Queue: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33518}
This commit is contained in:
parent
ebd20109f0
commit
6f7e205529
@ -310,6 +310,8 @@ rtc_library("libstunprober") {
|
||||
"../rtc_base:socket_address",
|
||||
"../rtc_base:threading",
|
||||
"../rtc_base/system:rtc_export",
|
||||
"../rtc_base/task_utils:pending_task_safety_flag",
|
||||
"../rtc_base/task_utils:to_queued_task",
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
@ -24,6 +24,7 @@
|
||||
#include "rtc_base/constructor_magic.h"
|
||||
#include "rtc_base/helpers.h"
|
||||
#include "rtc_base/logging.h"
|
||||
#include "rtc_base/task_utils/to_queued_task.h"
|
||||
#include "rtc_base/thread.h"
|
||||
#include "rtc_base/time_utils.h"
|
||||
|
||||
@ -261,6 +262,7 @@ StunProber::StunProber(rtc::PacketSocketFactory* socket_factory,
|
||||
networks_(networks) {}
|
||||
|
||||
StunProber::~StunProber() {
|
||||
RTC_DCHECK(thread_checker_.IsCurrent());
|
||||
for (auto* req : requesters_) {
|
||||
if (req) {
|
||||
delete req;
|
||||
@ -357,8 +359,8 @@ void StunProber::OnServerResolved(rtc::AsyncResolverInterface* resolver) {
|
||||
|
||||
// Deletion of AsyncResolverInterface can't be done in OnResolveResult which
|
||||
// handles SignalDone.
|
||||
invoker_.AsyncInvoke<void>(RTC_FROM_HERE, thread_,
|
||||
[resolver] { resolver->Destroy(false); });
|
||||
thread_->PostTask(
|
||||
webrtc::ToQueuedTask([resolver] { resolver->Destroy(false); }));
|
||||
servers_.pop_back();
|
||||
|
||||
if (servers_.size()) {
|
||||
@ -451,12 +453,13 @@ int StunProber::get_wake_up_interval_ms() {
|
||||
}
|
||||
|
||||
void StunProber::MaybeScheduleStunRequests() {
|
||||
RTC_DCHECK(thread_checker_.IsCurrent());
|
||||
RTC_DCHECK_RUN_ON(thread_);
|
||||
int64_t now = rtc::TimeMillis();
|
||||
|
||||
if (Done()) {
|
||||
invoker_.AsyncInvokeDelayed<void>(
|
||||
RTC_FROM_HERE, thread_, [this] { ReportOnFinished(SUCCESS); },
|
||||
thread_->PostDelayedTask(
|
||||
webrtc::ToQueuedTask(task_safety_.flag(),
|
||||
[this] { ReportOnFinished(SUCCESS); }),
|
||||
timeout_ms_);
|
||||
return;
|
||||
}
|
||||
@ -467,8 +470,9 @@ void StunProber::MaybeScheduleStunRequests() {
|
||||
}
|
||||
next_request_time_ms_ = now + interval_ms_;
|
||||
}
|
||||
invoker_.AsyncInvokeDelayed<void>(
|
||||
RTC_FROM_HERE, thread_, [this] { MaybeScheduleStunRequests(); },
|
||||
thread_->PostDelayedTask(
|
||||
webrtc::ToQueuedTask(task_safety_.flag(),
|
||||
[this] { MaybeScheduleStunRequests(); }),
|
||||
get_wake_up_interval_ms());
|
||||
}
|
||||
|
||||
|
||||
@ -16,13 +16,13 @@
|
||||
#include <vector>
|
||||
|
||||
#include "api/sequence_checker.h"
|
||||
#include "rtc_base/async_invoker.h"
|
||||
#include "rtc_base/byte_buffer.h"
|
||||
#include "rtc_base/constructor_magic.h"
|
||||
#include "rtc_base/ip_address.h"
|
||||
#include "rtc_base/network.h"
|
||||
#include "rtc_base/socket_address.h"
|
||||
#include "rtc_base/system/rtc_export.h"
|
||||
#include "rtc_base/task_utils/pending_task_safety_flag.h"
|
||||
#include "rtc_base/thread.h"
|
||||
|
||||
namespace rtc {
|
||||
@ -233,8 +233,6 @@ class RTC_EXPORT StunProber : public sigslot::has_slots<> {
|
||||
// This tracks how many of the sockets are ready.
|
||||
size_t total_ready_sockets_ = 0;
|
||||
|
||||
rtc::AsyncInvoker invoker_;
|
||||
|
||||
Observer* observer_ = nullptr;
|
||||
// TODO(guoweis): Remove this once all dependencies move away from
|
||||
// AsyncCallback.
|
||||
@ -242,6 +240,8 @@ class RTC_EXPORT StunProber : public sigslot::has_slots<> {
|
||||
|
||||
rtc::NetworkManager::NetworkList networks_;
|
||||
|
||||
webrtc::ScopedTaskSafety task_safety_;
|
||||
|
||||
RTC_DISALLOW_COPY_AND_ASSIGN(StunProber);
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user