diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn index fb1b4c4877..76c8273fba 100644 --- a/p2p/BUILD.gn +++ b/p2p/BUILD.gn @@ -97,7 +97,6 @@ rtc_library("rtc_p2p") { "../logging:ice_log", "../rtc_base", "../rtc_base:checks", - "../rtc_base:robo_caller", "../rtc_base:rtc_numerics", "../rtc_base/experiments:field_trial_parser", "../rtc_base/synchronization:sequence_checker", diff --git a/p2p/base/dtls_transport.cc b/p2p/base/dtls_transport.cc index 5e32032fc6..52fe5c65a2 100644 --- a/p2p/base/dtls_transport.cc +++ b/p2p/base/dtls_transport.cc @@ -23,7 +23,6 @@ #include "rtc_base/checks.h" #include "rtc_base/dscp.h" #include "rtc_base/logging.h" -#include "rtc_base/robo_caller.h" #include "rtc_base/rtc_certificate.h" #include "rtc_base/ssl_stream_adapter.h" #include "rtc_base/stream.h" @@ -359,8 +358,8 @@ bool DtlsTransport::SetupDtls() { dtls_->SetMaxProtocolVersion(ssl_max_version_); dtls_->SetServerRole(*dtls_role_); dtls_->SignalEvent.connect(this, &DtlsTransport::OnDtlsEvent); - dtls_->SSLHandshakeErrorSignal.AddReceiver( - [this](rtc::SSLHandshakeError e) { OnDtlsHandshakeError(e); }); + dtls_->SignalSSLHandshakeError.connect(this, + &DtlsTransport::OnDtlsHandshakeError); if (remote_fingerprint_value_.size() && !dtls_->SetPeerCertificateDigest( remote_fingerprint_algorithm_, @@ -822,7 +821,6 @@ void DtlsTransport::set_dtls_state(DtlsTransportState state) { void DtlsTransport::OnDtlsHandshakeError(rtc::SSLHandshakeError error) { SignalDtlsHandshakeError(error); - DtlsHandshakeErrorSignal.Send(error); } void DtlsTransport::ConfigureHandshakeTimeout() { diff --git a/p2p/base/dtls_transport_internal.h b/p2p/base/dtls_transport_internal.h index f4ca1cb36f..4c35d7371f 100644 --- a/p2p/base/dtls_transport_internal.h +++ b/p2p/base/dtls_transport_internal.h @@ -23,7 +23,6 @@ #include "p2p/base/ice_transport_internal.h" #include "p2p/base/packet_transport_internal.h" #include "rtc_base/constructor_magic.h" -#include "rtc_base/robo_caller.h" #include "rtc_base/ssl_certificate.h" #include "rtc_base/ssl_fingerprint.h" #include "rtc_base/ssl_stream_adapter.h" @@ -116,9 +115,7 @@ class DtlsTransportInternal : public rtc::PacketTransportInternal { sigslot::signal2 SignalDtlsState; // Emitted whenever the Dtls handshake failed on some transport channel. - // TODO(bugs.webrtc.org/11943): Remove sigslot and use one variable. sigslot::signal1 SignalDtlsHandshakeError; - webrtc::RoboCaller DtlsHandshakeErrorSignal; protected: DtlsTransportInternal(); diff --git a/pc/jsep_transport_controller.cc b/pc/jsep_transport_controller.cc index c346acf96f..4999f2ab04 100644 --- a/pc/jsep_transport_controller.cc +++ b/pc/jsep_transport_controller.cc @@ -462,8 +462,8 @@ JsepTransportController::CreateDtlsTransport( this, &JsepTransportController::OnTransportWritableState_n); dtls->SignalReceivingState.connect( this, &JsepTransportController::OnTransportReceivingState_n); - dtls->DtlsHandshakeErrorSignal.AddReceiver( - [this](rtc::SSLHandshakeError error) { OnDtlsHandshakeError(error); }); + dtls->SignalDtlsHandshakeError.connect( + this, &JsepTransportController::OnDtlsHandshakeError); dtls->ice_transport()->SignalGatheringState.connect( this, &JsepTransportController::OnTransportGatheringState_n); dtls->ice_transport()->SignalCandidateGathered.connect( @@ -1154,8 +1154,7 @@ void JsepTransportController::OnTransportCandidateGathered_n( std::string transport_name = transport->transport_name(); invoker_.AsyncInvoke( RTC_FROM_HERE, signaling_thread_, [this, transport_name, candidate] { - SignalIceCandidatesGathered.Send( - transport_name, std::vector{candidate}); + SignalIceCandidatesGathered(transport_name, {candidate}); }); } @@ -1164,21 +1163,20 @@ void JsepTransportController::OnTransportCandidateError_n( const cricket::IceCandidateErrorEvent& event) { RTC_DCHECK(network_thread_->IsCurrent()); - invoker_.AsyncInvoke(RTC_FROM_HERE, signaling_thread_, [this, event] { - SignalIceCandidateError.Send(event); - }); + invoker_.AsyncInvoke(RTC_FROM_HERE, signaling_thread_, + [this, event] { SignalIceCandidateError(event); }); } void JsepTransportController::OnTransportCandidatesRemoved_n( cricket::IceTransportInternal* transport, const cricket::Candidates& candidates) { invoker_.AsyncInvoke( RTC_FROM_HERE, signaling_thread_, - [this, candidates] { SignalIceCandidatesRemoved.Send(candidates); }); + [this, candidates] { SignalIceCandidatesRemoved(candidates); }); } void JsepTransportController::OnTransportCandidatePairChanged_n( const cricket::CandidatePairChangeEvent& event) { invoker_.AsyncInvoke(RTC_FROM_HERE, signaling_thread_, [this, event] { - SignalIceCandidatePairChanged.Send(event); + SignalIceCandidatePairChanged(event); }); } @@ -1319,14 +1317,14 @@ void JsepTransportController::UpdateAggregateStates_n() { PeerConnectionInterface::kIceConnectionCompleted) { // Ensure that we never skip over the "connected" state. invoker_.AsyncInvoke(RTC_FROM_HERE, signaling_thread_, [this] { - SignalStandardizedIceConnectionState.Send( + SignalStandardizedIceConnectionState( PeerConnectionInterface::kIceConnectionConnected); }); } standardized_ice_connection_state_ = new_ice_connection_state; invoker_.AsyncInvoke( RTC_FROM_HERE, signaling_thread_, [this, new_ice_connection_state] { - SignalStandardizedIceConnectionState.Send(new_ice_connection_state); + SignalStandardizedIceConnectionState(new_ice_connection_state); }); } @@ -1380,7 +1378,7 @@ void JsepTransportController::UpdateAggregateStates_n() { combined_connection_state_ = new_combined_state; invoker_.AsyncInvoke(RTC_FROM_HERE, signaling_thread_, [this, new_combined_state] { - SignalConnectionState.Send(new_combined_state); + SignalConnectionState(new_combined_state); }); } @@ -1394,10 +1392,10 @@ void JsepTransportController::UpdateAggregateStates_n() { } if (ice_gathering_state_ != new_gathering_state) { ice_gathering_state_ = new_gathering_state; - invoker_.AsyncInvoke( - RTC_FROM_HERE, signaling_thread_, [this, new_gathering_state] { - SignalIceGatheringState.Send(new_gathering_state); - }); + invoker_.AsyncInvoke(RTC_FROM_HERE, signaling_thread_, + [this, new_gathering_state] { + SignalIceGatheringState(new_gathering_state); + }); } } @@ -1410,7 +1408,7 @@ void JsepTransportController::OnRtcpPacketReceived_n( void JsepTransportController::OnDtlsHandshakeError( rtc::SSLHandshakeError error) { - SignalDtlsHandshakeError.Send(error); + SignalDtlsHandshakeError(error); } } // namespace webrtc diff --git a/pc/jsep_transport_controller.h b/pc/jsep_transport_controller.h index 9ee8aaed0d..f3a92947a5 100644 --- a/pc/jsep_transport_controller.h +++ b/pc/jsep_transport_controller.h @@ -200,29 +200,31 @@ class JsepTransportController : public sigslot::has_slots<> { // Else => connecting RoboCaller SignalIceConnectionState; - RoboCaller + sigslot::signal1 SignalConnectionState; - RoboCaller + sigslot::signal1 SignalStandardizedIceConnectionState; // If all transports done gathering => complete, // Else if any are gathering => gathering, // Else => new - RoboCaller SignalIceGatheringState; + sigslot::signal1 SignalIceGatheringState; - // [mid, candidates] - RoboCaller&> + // (mid, candidates) + sigslot::signal2&> SignalIceCandidatesGathered; - RoboCaller SignalIceCandidateError; + sigslot::signal1 + SignalIceCandidateError; - RoboCaller&> SignalIceCandidatesRemoved; + sigslot::signal1&> + SignalIceCandidatesRemoved; - RoboCaller + sigslot::signal1 SignalIceCandidatePairChanged; - RoboCaller SignalDtlsHandshakeError; + sigslot::signal1 SignalDtlsHandshakeError; private: RTCError ApplyDescription_n(bool local, diff --git a/pc/jsep_transport_controller_unittest.cc b/pc/jsep_transport_controller_unittest.cc index 191051a9e5..40dc23e535 100644 --- a/pc/jsep_transport_controller_unittest.cc +++ b/pc/jsep_transport_controller_unittest.cc @@ -93,24 +93,14 @@ class JsepTransportControllerTest : public JsepTransportController::Observer, [this](cricket::IceConnectionState s) { JsepTransportControllerTest::OnConnectionState(s); }); - transport_controller_->SignalConnectionState.AddReceiver( - [this](PeerConnectionInterface::PeerConnectionState s) { - JsepTransportControllerTest::OnCombinedConnectionState(s); - }); - transport_controller_->SignalStandardizedIceConnectionState.AddReceiver( - [this](PeerConnectionInterface::IceConnectionState s) { - JsepTransportControllerTest::OnStandardizedIceConnectionState(s); - }); - transport_controller_->SignalIceGatheringState.AddReceiver( - [this](cricket::IceGatheringState s) { - JsepTransportControllerTest::OnGatheringState(s); - }); - transport_controller_->SignalIceCandidatesGathered.AddReceiver( - [this](const std::string& transport, - const std::vector& candidates) { - JsepTransportControllerTest::OnCandidatesGathered(transport, - candidates); - }); + transport_controller_->SignalStandardizedIceConnectionState.connect( + this, &JsepTransportControllerTest::OnStandardizedIceConnectionState); + transport_controller_->SignalConnectionState.connect( + this, &JsepTransportControllerTest::OnCombinedConnectionState); + transport_controller_->SignalIceGatheringState.connect( + this, &JsepTransportControllerTest::OnGatheringState); + transport_controller_->SignalIceCandidatesGathered.connect( + this, &JsepTransportControllerTest::OnCandidatesGathered); } std::unique_ptr diff --git a/pc/peer_connection.cc b/pc/peer_connection.cc index 29ebd81eb5..bf05151274 100644 --- a/pc/peer_connection.cc +++ b/pc/peer_connection.cc @@ -529,52 +529,28 @@ bool PeerConnection::Initialize( transport_controller_.reset(new JsepTransportController( signaling_thread(), network_thread(), port_allocator_.get(), async_resolver_factory_.get(), config)); + transport_controller_->SignalStandardizedIceConnectionState.connect( + this, &PeerConnection::SetStandardizedIceConnectionState); + transport_controller_->SignalConnectionState.connect( + this, &PeerConnection::SetConnectionState); + transport_controller_->SignalIceGatheringState.connect( + this, &PeerConnection::OnTransportControllerGatheringState); + transport_controller_->SignalIceCandidatesGathered.connect( + this, &PeerConnection::OnTransportControllerCandidatesGathered); + transport_controller_->SignalIceCandidateError.connect( + this, &PeerConnection::OnTransportControllerCandidateError); + transport_controller_->SignalIceCandidatesRemoved.connect( + this, &PeerConnection::OnTransportControllerCandidatesRemoved); + transport_controller_->SignalDtlsHandshakeError.connect( + this, &PeerConnection::OnTransportControllerDtlsHandshakeError); + transport_controller_->SignalIceCandidatePairChanged.connect( + this, &PeerConnection::OnTransportControllerCandidateChanged); + transport_controller_->SignalIceConnectionState.AddReceiver( [this](cricket::IceConnectionState s) { RTC_DCHECK_RUN_ON(signaling_thread()); OnTransportControllerConnectionState(s); }); - transport_controller_->SignalConnectionState.AddReceiver( - [this](PeerConnectionInterface::PeerConnectionState s) { - RTC_DCHECK_RUN_ON(signaling_thread()); - SetConnectionState(s); - }); - transport_controller_->SignalStandardizedIceConnectionState.AddReceiver( - [this](PeerConnectionInterface::IceConnectionState s) { - RTC_DCHECK_RUN_ON(signaling_thread()); - SetStandardizedIceConnectionState(s); - }); - transport_controller_->SignalIceGatheringState.AddReceiver( - [this](cricket::IceGatheringState s) { - RTC_DCHECK_RUN_ON(signaling_thread()); - OnTransportControllerGatheringState(s); - }); - transport_controller_->SignalIceCandidatesGathered.AddReceiver( - [this](const std::string& transport, - const std::vector& candidates) { - RTC_DCHECK_RUN_ON(signaling_thread()); - OnTransportControllerCandidatesGathered(transport, candidates); - }); - transport_controller_->SignalIceCandidateError.AddReceiver( - [this](const cricket::IceCandidateErrorEvent& event) { - RTC_DCHECK_RUN_ON(signaling_thread()); - OnTransportControllerCandidateError(event); - }); - transport_controller_->SignalIceCandidatesRemoved.AddReceiver( - [this](const std::vector& c) { - RTC_DCHECK_RUN_ON(signaling_thread()); - OnTransportControllerCandidatesRemoved(c); - }); - transport_controller_->SignalIceCandidatePairChanged.AddReceiver( - [this](const cricket::CandidatePairChangeEvent& event) { - RTC_DCHECK_RUN_ON(signaling_thread()); - OnTransportControllerCandidateChanged(event); - }); - transport_controller_->SignalDtlsHandshakeError.AddReceiver( - [this](rtc::SSLHandshakeError event) { - RTC_DCHECK_RUN_ON(signaling_thread()); - OnTransportControllerDtlsHandshakeError(event); - }); stats_.reset(new StatsCollector(this)); stats_collector_ = RTCStatsCollector::Create(this); diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index e2b008d878..3383580492 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -816,7 +816,6 @@ rtc_library("rtc_base") { deps = [ ":checks", ":deprecation", - ":robo_caller", ":rtc_task_queue", ":stringutils", "../api:array_view", diff --git a/rtc_base/openssl_stream_adapter.cc b/rtc_base/openssl_stream_adapter.cc index 90228b8dd5..5790b1b79e 100644 --- a/rtc_base/openssl_stream_adapter.cc +++ b/rtc_base/openssl_stream_adapter.cc @@ -33,7 +33,6 @@ #include "rtc_base/openssl_adapter.h" #include "rtc_base/openssl_digest.h" #include "rtc_base/openssl_identity.h" -#include "rtc_base/robo_caller.h" #include "rtc_base/ssl_certificate.h" #include "rtc_base/stream.h" #include "rtc_base/task_utils/to_queued_task.h" @@ -932,7 +931,6 @@ int OpenSSLStreamAdapter::ContinueSSL() { RTC_DLOG(LS_VERBOSE) << " -- error " << code << ", " << err_code << ", " << ERR_GET_REASON(err_code); SignalSSLHandshakeError(ssl_handshake_err); - SSLHandshakeErrorSignal.Send(ssl_handshake_err); return (ssl_error != 0) ? ssl_error : -1; } diff --git a/rtc_base/ssl_stream_adapter.h b/rtc_base/ssl_stream_adapter.h index 2961b163db..3da0b09469 100644 --- a/rtc_base/ssl_stream_adapter.h +++ b/rtc_base/ssl_stream_adapter.h @@ -19,7 +19,6 @@ #include "absl/memory/memory.h" #include "rtc_base/deprecation.h" -#include "rtc_base/robo_caller.h" #include "rtc_base/ssl_certificate.h" #include "rtc_base/ssl_identity.h" #include "rtc_base/stream.h" @@ -269,9 +268,7 @@ class SSLStreamAdapter : public StreamAdapterInterface { // authentication. bool GetClientAuthEnabled() const { return client_auth_enabled_; } - // TODO(bugs.webrtc.org/11943): Remove sigslot and use one variable. sigslot::signal1 SignalSSLHandshakeError; - webrtc::RoboCaller SSLHandshakeErrorSignal; private: // If true (default), the client is required to provide a certificate during diff --git a/test/peer_scenario/scenario_connection.cc b/test/peer_scenario/scenario_connection.cc index 372ba5eb42..92082f5097 100644 --- a/test/peer_scenario/scenario_connection.cc +++ b/test/peer_scenario/scenario_connection.cc @@ -165,12 +165,8 @@ void ScenarioIceConnectionImpl::SetRemoteSdp(SdpType type, const std::string& remote_sdp) { RTC_DCHECK_RUN_ON(signaling_thread_); remote_description_ = webrtc::CreateSessionDescription(type, remote_sdp); - jsep_controller_->SignalIceCandidatesGathered.AddReceiver( - [this](const std::string& transport, - const std::vector& candidate) { - ScenarioIceConnectionImpl::OnCandidates(transport, candidate); - }); - + jsep_controller_->SignalIceCandidatesGathered.connect( + this, &ScenarioIceConnectionImpl::OnCandidates); auto res = jsep_controller_->SetRemoteDescription( remote_description_->GetType(), remote_description_->description()); RTC_CHECK(res.ok()) << res.message();