Make dcSCTP the default SCTP implementation

To disable dcSCTP and fallback to usrsctp, you can use the field trial
WebRTC-DataChannel-Dcsctp/Disabled/

Bug: chromium:1243702
Change-Id: Ia90b796562245558a61481317bcded437400b045
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251800
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36018}
This commit is contained in:
Florent Castelli
2022-02-16 13:37:46 +01:00
committed by WebRTC LUCI CQ
parent df2b264ac0
commit 035e97a447
3 changed files with 6 additions and 6 deletions

View File

@ -25,11 +25,11 @@
namespace cricket {
SctpTransportFactory::SctpTransportFactory(rtc::Thread* network_thread)
: network_thread_(network_thread), use_dcsctp_("Enabled", false) {
: network_thread_(network_thread), use_usrsctp_("Disabled", false) {
RTC_UNUSED(network_thread_);
#ifdef WEBRTC_HAVE_DCSCTP
webrtc::ParseFieldTrial({&use_dcsctp_}, webrtc::field_trial::FindFullName(
"WebRTC-DataChannel-Dcsctp"));
webrtc::ParseFieldTrial({&use_usrsctp_}, webrtc::field_trial::FindFullName(
"WebRTC-DataChannel-Dcsctp"));
#endif
}
@ -38,7 +38,7 @@ SctpTransportFactory::CreateSctpTransport(
rtc::PacketTransportInternal* transport) {
std::unique_ptr<SctpTransportInternal> result;
#ifdef WEBRTC_HAVE_DCSCTP
if (use_dcsctp_.Get()) {
if (!use_usrsctp_.Get()) {
result = std::unique_ptr<SctpTransportInternal>(new webrtc::DcSctpTransport(
network_thread_, transport, webrtc::Clock::GetRealTimeClock()));
}

View File

@ -29,7 +29,7 @@ class SctpTransportFactory : public webrtc::SctpTransportFactoryInterface {
private:
rtc::Thread* network_thread_;
webrtc::FieldTrialFlag use_dcsctp_;
webrtc::FieldTrialFlag use_usrsctp_;
};
} // namespace cricket

View File

@ -832,7 +832,7 @@ TEST_P(DataChannelIntegrationTest,
EXPECT_GT(202u, callee()->data_observer()->received_message_count());
EXPECT_LE(2u, callee()->data_observer()->received_message_count());
// Then, check that observed behavior (lose some messages) has not changed
if (webrtc::field_trial::IsEnabled("WebRTC-DataChannel-Dcsctp")) {
if (!webrtc::field_trial::IsDisabled("WebRTC-DataChannel-Dcsctp")) {
// DcSctp loses all messages. This is correct.
EXPECT_EQ(2u, callee()->data_observer()->received_message_count());
} else {