mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-18 08:07:56 +01:00
Replace RTCTransportInternal::SignalCandidatePairChange sigslot
and add a callback instead. Bug: webrtc:12598 Change-Id: I41ee044fc45f15bbf9fc31ba9067cef2a5071faf Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/329060 Reviewed-by: Per Kjellander <perkj@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#41263}
This commit is contained in:
parent
2798c2bfe6
commit
09b2fb65da
4 changed files with 21 additions and 8 deletions
|
@ -332,8 +332,12 @@ class RTC_EXPORT IceTransportInternal : public rtc::PacketTransportInternal {
|
|||
// SignalNetworkRouteChanged.
|
||||
sigslot::signal2<IceTransportInternal*, const Candidate&> SignalRouteChange;
|
||||
|
||||
sigslot::signal1<const cricket::CandidatePairChangeEvent&>
|
||||
SignalCandidatePairChanged;
|
||||
void SetCandidatePairChangeCallback(
|
||||
absl::AnyInvocable<void(const cricket::CandidatePairChangeEvent&)>
|
||||
callback) {
|
||||
RTC_DCHECK(!candidate_pair_change_callback_);
|
||||
candidate_pair_change_callback_ = std::move(callback);
|
||||
}
|
||||
|
||||
// Invoked when there is conflict in the ICE role between local and remote
|
||||
// agents.
|
||||
|
@ -386,6 +390,9 @@ class RTC_EXPORT IceTransportInternal : public rtc::PacketTransportInternal {
|
|||
|
||||
absl::AnyInvocable<void(IceTransportInternal*, const Candidates&)>
|
||||
candidates_removed_callback_;
|
||||
|
||||
absl::AnyInvocable<void(const cricket::CandidatePairChangeEvent&)>
|
||||
candidate_pair_change_callback_;
|
||||
};
|
||||
|
||||
} // namespace cricket
|
||||
|
|
|
@ -1871,8 +1871,9 @@ void P2PTransportChannel::SwitchSelectedConnectionInternal(
|
|||
} else {
|
||||
pair_change.estimated_disconnected_time_ms = 0;
|
||||
}
|
||||
|
||||
SignalCandidatePairChanged(pair_change);
|
||||
if (candidate_pair_change_callback_) {
|
||||
candidate_pair_change_callback_(pair_change);
|
||||
}
|
||||
}
|
||||
|
||||
++selected_candidate_pair_changes_;
|
||||
|
|
|
@ -3483,8 +3483,10 @@ class P2PTransportChannelPingTest : public ::testing::Test,
|
|||
&P2PTransportChannelPingTest::OnReadyToSend);
|
||||
ch->SignalStateChanged.connect(
|
||||
this, &P2PTransportChannelPingTest::OnChannelStateChanged);
|
||||
ch->SignalCandidatePairChanged.connect(
|
||||
this, &P2PTransportChannelPingTest::OnCandidatePairChanged);
|
||||
ch->SetCandidatePairChangeCallback(
|
||||
[this](const cricket::CandidatePairChangeEvent& event) {
|
||||
OnCandidatePairChanged(event);
|
||||
});
|
||||
}
|
||||
|
||||
Connection* WaitForConnectionTo(
|
||||
|
|
|
@ -455,8 +455,11 @@ JsepTransportController::CreateDtlsTransport(
|
|||
this, &JsepTransportController::OnTransportStateChanged_n);
|
||||
dtls->ice_transport()->SignalIceTransportStateChanged.connect(
|
||||
this, &JsepTransportController::OnTransportStateChanged_n);
|
||||
dtls->ice_transport()->SignalCandidatePairChanged.connect(
|
||||
this, &JsepTransportController::OnTransportCandidatePairChanged_n);
|
||||
dtls->ice_transport()->SetCandidatePairChangeCallback(
|
||||
[this](const cricket::CandidatePairChangeEvent& event) {
|
||||
RTC_DCHECK_RUN_ON(network_thread_);
|
||||
OnTransportCandidatePairChanged_n(event);
|
||||
});
|
||||
|
||||
dtls->SubscribeDtlsHandshakeError(
|
||||
[this](rtc::SSLHandshakeError error) { OnDtlsHandshakeError(error); });
|
||||
|
|
Loading…
Reference in a new issue