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:

committed by
WebRTC LUCI CQ

parent
962bf18961
commit
29ff3efebf
@ -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()));
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ class SctpTransportFactory : public webrtc::SctpTransportFactoryInterface {
|
||||
|
||||
private:
|
||||
rtc::Thread* network_thread_;
|
||||
webrtc::FieldTrialFlag use_dcsctp_;
|
||||
webrtc::FieldTrialFlag use_usrsctp_;
|
||||
};
|
||||
|
||||
} // namespace cricket
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
Reference in New Issue
Block a user