Avoid deallocating the async invoker when clearing the transport.
Deallocating the async invoker is a costly operation but it's also unnecessary and could cause us to miss signal events. The data_channel_transport and data_channel_transport_invoker are (despite the name) not related, since the latter is used to signal events on the signaling thread whereas the former deals with the data. Bug: webrtc:11908 Change-Id: I37b345476a6381aef5d87807877ec1e05b380137 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184062 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Tommi <tommi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#32096}
This commit is contained in:
committed by
Commit Bot
parent
8452ea86c5
commit
6da271844c
@ -221,8 +221,9 @@ class DataChannelController : public RtpDataChannelProviderInterface,
|
||||
sigslot::signal1<SctpDataChannel*> SignalSctpDataChannelCreated_
|
||||
RTC_GUARDED_BY(signaling_thread());
|
||||
|
||||
// Used to invoke data channel transport signals on the signaling thread.
|
||||
std::unique_ptr<rtc::AsyncInvoker> data_channel_transport_invoker_
|
||||
// Used from the network thread to invoke data channel transport signals on
|
||||
// the signaling thread.
|
||||
rtc::AsyncInvoker data_channel_transport_invoker_
|
||||
RTC_GUARDED_BY(network_thread());
|
||||
|
||||
// Owning PeerConnection.
|
||||
|
||||
Reference in New Issue
Block a user