Remove use of AsyncInvoker from SctpDataChannel
Bug: webrtc:11908
Change-Id: I4a32d9c3903d56994f2be365ab3fee2599ed6cdb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184604
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32145}
diff --git a/pc/sctp_data_channel.cc b/pc/sctp_data_channel.cc
index e603ddd..c4357a8 100644
--- a/pc/sctp_data_channel.cc
+++ b/pc/sctp_data_channel.cc
@@ -21,6 +21,7 @@
#include "rtc_base/location.h"
#include "rtc_base/logging.h"
#include "rtc_base/ref_counted_object.h"
+#include "rtc_base/task_utils/to_queued_task.h"
#include "rtc_base/thread.h"
namespace webrtc {
@@ -206,8 +207,14 @@
// Chrome glue and WebKit) are not wired up properly until after this
// function returns.
if (provider_->ReadyToSendData()) {
- invoker_.AsyncInvoke<void>(RTC_FROM_HERE, rtc::Thread::Current(),
- [this] { OnTransportReady(true); });
+ AddRef();
+ rtc::Thread::Current()->PostTask(ToQueuedTask(
+ [this] {
+ RTC_DCHECK_RUN_ON(signaling_thread_);
+ if (state_ != kClosed)
+ OnTransportReady(true);
+ },
+ [this] { Release(); }));
}
return true;