Revert "[Sheriff] Revert "Remove MessageHandler[AutoCleanup] dependency from StreamInterface.""
This reverts commit af05c833dac86d1e8496b0cf17eac4514b9b2b2e.
Reason for revert: The failure in remoting_unittests has been addressed.
Original change's description:
> [Sheriff] Revert "Remove MessageHandler[AutoCleanup] dependency from StreamInterface."
>
> This reverts commit eb79dd9ffdc41e4ca86803bfc1317e0961a8a8a6.
>
> Reason for revert: breaks WebRTC roll into Chrome:
> https://crrev.com/c/2445696
>
> Sample failure:
> https://ci.chromium.org/p/chromium/builders/try/linux-rel/506049
> [ RUN ] PseudoTcpAdapterTest.DeleteOnConnected
>
> Original change's description:
> > Remove MessageHandler[AutoCleanup] dependency from StreamInterface.
> >
> > This includes relying on related types such as MessageData and
> > PostEvent functionality inside the StreamInterface itself.
> >
> > This affects mostly tests but OpenSSLStreamAdapter
> > requires special attention.
> >
> > Bug: webrtc:11988
> > Change-Id: Ib5c895f1bdf77bb49e3162bd49718f8a98812d91
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185505
> > Commit-Queue: Tommi <tommi@webrtc.org>
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#32290}
>
> TBR=kwiberg@webrtc.org,tommi@webrtc.org
>
> Change-Id: I23d7a311a73c739eba872a21e6123235465c28cc
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:11988
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186564
> Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
> Reviewed-by: Marina Ciocea <marinaciocea@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32299}
TBR=kwiberg@webrtc.org,tommi@webrtc.org,marinaciocea@webrtc.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: webrtc:11988
Change-Id: Iff07e0943fc5dded9eeed5c2626798691594300d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186700
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32314}
diff --git a/rtc_base/ssl_stream_adapter_unittest.cc b/rtc_base/ssl_stream_adapter_unittest.cc
index bfbaf0f..1ba2f3e 100644
--- a/rtc_base/ssl_stream_adapter_unittest.cc
+++ b/rtc_base/ssl_stream_adapter_unittest.cc
@@ -26,6 +26,8 @@
#include "rtc_base/ssl_identity.h"
#include "rtc_base/ssl_stream_adapter.h"
#include "rtc_base/stream.h"
+#include "rtc_base/task_utils/pending_task_safety_flag.h"
+#include "rtc_base/task_utils/to_queued_task.h"
#include "test/field_trial.h"
using ::testing::Combine;
@@ -214,7 +216,15 @@
out_->Close();
}
- protected:
+ private:
+ void PostEvent(int events, int err) {
+ thread_->PostTask(webrtc::ToQueuedTask(task_safety_, [this, events, err]() {
+ SignalEvent(this, events, err);
+ }));
+ }
+
+ webrtc::ScopedTaskSafety task_safety_;
+ rtc::Thread* const thread_ = rtc::Thread::Current();
SSLStreamAdapterTestBase* test_base_;
const std::string side_;
rtc::StreamInterface* in_;
@@ -276,10 +286,17 @@
protected:
void NotifyReadableForTest() { PostEvent(rtc::SE_READ, 0); }
-
void NotifyWritableForTest() { PostEvent(rtc::SE_WRITE, 0); }
private:
+ void PostEvent(int events, int err) {
+ thread_->PostTask(webrtc::ToQueuedTask(task_safety_, [this, events, err]() {
+ SignalEvent(this, events, err);
+ }));
+ }
+
+ rtc::Thread* const thread_ = rtc::Thread::Current();
+ webrtc::ScopedTaskSafety task_safety_;
rtc::BufferQueue buffer_;
};