Delete SignalStateChanged from IceTransportInternal
The standardized state is signalled via SignalIceTransportStateChanged;
listening to that should give the same result as long as it fires every
time the old signal fired.
Bug: webrtc:9308
Change-Id: Ie56ec9e163f8f9648d43f95300ca1ad68c59bd2b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/329021
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#45183}
diff --git a/api/peer_connection_interface.h b/api/peer_connection_interface.h
index 6a84505..ed84a4f 100644
--- a/api/peer_connection_interface.h
+++ b/api/peer_connection_interface.h
@@ -232,6 +232,10 @@
kIceConnectionMax,
};
static constexpr absl::string_view AsString(IceConnectionState state);
+ template <typename Sink>
+ void AbslStringify(Sink& sink, IceConnectionState state) {
+ sink.Append(AsString(state));
+ }
// TLS certificate policy.
enum TlsCertPolicy {
diff --git a/p2p/base/ice_transport_internal.h b/p2p/base/ice_transport_internal.h
index 727073b..c1f3e0c 100644
--- a/p2p/base/ice_transport_internal.h
+++ b/p2p/base/ice_transport_internal.h
@@ -381,11 +381,6 @@
// agents.
sigslot::signal1<IceTransportInternal*> SignalRoleConflict;
- // Emitted whenever the transport state changed.
- // TODO(bugs.webrtc.org/9308): Remove once all uses have migrated to the new
- // IceTransportState.
- sigslot::signal1<IceTransportInternal*> SignalStateChanged;
-
// Emitted whenever the new standards-compliant transport state changed.
sigslot::signal1<IceTransportInternal*> SignalIceTransportStateChanged;
diff --git a/p2p/base/p2p_transport_channel.cc b/p2p/base/p2p_transport_channel.cc
index f592513..41b61bd 100644
--- a/p2p/base/p2p_transport_channel.cc
+++ b/p2p/base/p2p_transport_channel.cc
@@ -1979,12 +1979,13 @@
RTC_DCHECK_NOTREACHED();
break;
}
- state_ = state;
- SignalStateChanged(this);
}
- if (standardized_state_ != current_standardized_state) {
+ if (standardized_state_ != current_standardized_state || state_ != state) {
standardized_state_ = current_standardized_state;
+ state_ = state;
+ // Unconditionally signal change, no matter what changed.
+ // TODO: issues.webrtc.org/42234495 - rmeove nonstandard state_
SignalIceTransportStateChanged(this);
}
}
diff --git a/p2p/base/p2p_transport_channel_unittest.cc b/p2p/base/p2p_transport_channel_unittest.cc
index 7abf8450..87e2fde 100644
--- a/p2p/base/p2p_transport_channel_unittest.cc
+++ b/p2p/base/p2p_transport_channel_unittest.cc
@@ -3856,7 +3856,7 @@
this, &P2PTransportChannelPingTest::OnNetworkRouteChanged);
ch->SignalReadyToSend.connect(this,
&P2PTransportChannelPingTest::OnReadyToSend);
- ch->SignalStateChanged.connect(
+ ch->SignalIceTransportStateChanged.connect(
this, &P2PTransportChannelPingTest::OnChannelStateChanged);
ch->SetCandidatePairChangeCallback(
[this](const CandidatePairChangeEvent& event) {
diff --git a/p2p/base/regathering_controller.cc b/p2p/base/regathering_controller.cc
index 57575e2..bbebc60 100644
--- a/p2p/base/regathering_controller.cc
+++ b/p2p/base/regathering_controller.cc
@@ -27,7 +27,7 @@
RTC_DCHECK(thread_);
RTC_DCHECK_RUN_ON(thread_);
RTC_DCHECK(ice_transport_);
- ice_transport_->SignalStateChanged.connect(
+ ice_transport_->SignalIceTransportStateChanged.connect(
this, &BasicRegatheringController::OnIceTransportStateChanged);
ice_transport->SignalWritableState.connect(
this, &BasicRegatheringController::OnIceTransportWritableState);
diff --git a/p2p/test/fake_ice_transport.h b/p2p/test/fake_ice_transport.h
index 0a88203..28e8be2 100644
--- a/p2p/test/fake_ice_transport.h
+++ b/p2p/test/fake_ice_transport.h
@@ -164,7 +164,7 @@
// In this fake transport channel, `connection_count_` determines the
// transport state.
if (connection_count_ < old_connection_count) {
- SignalStateChanged(this);
+ SignalIceTransportStateChanged(this);
}
}
diff --git a/pc/jsep_transport_controller.cc b/pc/jsep_transport_controller.cc
index f3095d7..a76bfa9 100644
--- a/pc/jsep_transport_controller.cc
+++ b/pc/jsep_transport_controller.cc
@@ -589,8 +589,6 @@
});
dtls->ice_transport()->SignalRoleConflict.connect(
this, &JsepTransportController::OnTransportRoleConflict_n);
- dtls->ice_transport()->SignalStateChanged.connect(
- this, &JsepTransportController::OnTransportStateChanged_n);
dtls->ice_transport()->SignalIceTransportStateChanged.connect(
this, &JsepTransportController::OnTransportStateChanged_n);
dtls->ice_transport()->SetCandidatePairChangeCallback(
diff --git a/pc/peer_connection_integrationtest.cc b/pc/peer_connection_integrationtest.cc
index ca61b6a..b109ebb 100644
--- a/pc/peer_connection_integrationtest.cc
+++ b/pc/peer_connection_integrationtest.cc
@@ -2256,7 +2256,11 @@
ASSERT_NE(callee_candidate_pre_restart, callee_candidate_post_restart);
ASSERT_NE(caller_ufrag_pre_restart, caller_ufrag_post_restart);
ASSERT_NE(callee_ufrag_pre_restart, callee_ufrag_post_restart);
- EXPECT_GT(caller()->ice_candidate_pair_change_history().size(), 1u);
+ EXPECT_THAT(
+ WaitUntil(
+ [&] { return caller()->ice_candidate_pair_change_history().size(); },
+ Gt(1U), {.timeout = kMaxWaitForFrames}),
+ IsRtcOk());
// Ensure that additional frames are received after the ICE restart.
MediaExpectations media_expectations;