Reland: Make dcSCTP the default SCTP implementation

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

Also remove a hidden no-break space in dcSCTP logging causing issues in
some log parsing.

Bug: chromium:1243702
Change-Id: I46136a8913a6d803a3c63c710f3ed29523e4d773
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251867
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Victor Boivie <boivie@google.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36027}
This commit is contained in:
Florent Castelli
2022-02-17 16:23:56 +01:00
committed by WebRTC LUCI CQ
parent 962bf18961
commit 29ff3efebf
4 changed files with 7 additions and 7 deletions

View File

@ -25,10 +25,10 @@
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::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

@ -196,7 +196,7 @@ DcSctpSocket::DcSctpSocket(absl::string_view log_prefix,
[this]() { callbacks_.OnTotalBufferedAmountLow(); }) {}
std::string DcSctpSocket::log_prefix() const {
return log_prefix_ + "[" + std::string(ToString(state_)) + "] ";
return log_prefix_ + "[" + std::string(ToString(state_)) + "] ";
}
bool DcSctpSocket::IsConsistent() const {

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 {