aboutsummaryrefslogtreecommitdiff
path: root/media/sctp
AgeCommit message (Collapse)Author
2022-04-04Remove usrsctp, dcSCTP is now the unique SCTP implementationFlorent Castelli
Bug: chromium:1243702 Change-Id: Id11299d26f0f8713a57781b57277837aace531f2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251821 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Victor Boivie <boivie@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36423}
2022-03-29WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 12/infJonas Oreland
rename WebRtcKeyValueConfig to FieldTrialsView Bug: webrtc:10335 Change-Id: If725bd498c4c3daf144bee638230fa089fdde833 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256965 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Jonas Oreland <jonaso@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36365}
2022-03-18Fix spelling of receiver and transceiver.Niels Möller
Bug: None Change-Id: I439e217d67283b182833e48da15af9ae367ac14e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256015 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36257}
2022-03-11WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 3/infJonas Oreland
convert much of media/ (and the collateral) Bug: webrtc:10335 Change-Id: I04489dfe9622efe7f89e04aba3be6b3f60e77c91 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/254520 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Jonas Oreland <jonaso@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36177}
2022-02-22dcsctp: Fix data race in debug loggingFlorent Castelli
The variable instance_count might be accessed from multiple threads when different PeerConnectionFactory objects are used, which may create multiple network threads. This is a pattern mostly noticed in tests. This fixes issues with logging when run under TSAN, it should not have any production impact. Bug: chromium:1243702 Change-Id: Iab1412a7907545811a309cab27a3ae23b4718606 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251983 Auto-Submit: Florent Castelli <orphis@webrtc.org> Reviewed-by: Victor Boivie <boivie@google.com> Commit-Queue: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36045}
2022-02-17Reland: Make dcSCTP the default SCTP implementationFlorent Castelli
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}
2022-02-17Revert "Make dcSCTP the default SCTP implementation"Christoffer Jansson
This reverts commit 035e97a447455bdd434b6d775b824d3ee2bb2c8c. Reason for revert: Breaks downstream projects. Original change's description: > 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} TBR=hta@webrtc.org,orphis@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com Change-Id: Id4767920abc9a4d934b5d9bb49ea0b2178df950b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1243702 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251862 Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Owners-Override: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Christoffer Jansson <jansson@google.com> Cr-Commit-Position: refs/heads/main@{#36022}
2022-02-16Make dcSCTP the default SCTP implementationFlorent Castelli
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}
2022-01-27Reland "Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely"Artem Titov
This reverts commit 3f87250a4f0e6c69002fbcdfb995b0dfcd7bf710. Reason for revert: Downstream is fixed Original change's description: > Revert "Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely" > > This reverts commit 5f0eb93d2a44cec2102fc8c3757d5bb814bd145f. > > Reason for revert: Breaks downstream project. I'm going to fix that one and create a reland of this CL after. > > Original change's description: > > Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely > > > > Bug: webrtc:13555, webrtc:13082 > > Change-Id: Iff2cda6f516739419e97e975e03f77a98f74be03 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249260 > > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > > Reviewed-by: Artem Titov <titovartem@webrtc.org> > > Commit-Queue: (Daniel.L) Byoungchan Lee <daniel.l@hpcnt.com> > > Cr-Commit-Position: refs/heads/main@{#35805} > > TBR=hta@webrtc.org,titovartem@webrtc.org,daniel.l@hpcnt.com,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com > > Change-Id: I33d497f1132adfe6d151023195a388d9b7d548f9 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:13555, webrtc:13082 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249364 > Reviewed-by: Artem Titov <titovartem@webrtc.org> > Owners-Override: Artem Titov <titovartem@webrtc.org> > Reviewed-by: Andrey Logvin <landrey@webrtc.org> > Reviewed-by: Björn Terelius <terelius@webrtc.org> > Commit-Queue: Artem Titov <titovartem@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#35807} # Not skipping CQ checks because this is a reland. Bug: webrtc:13555, webrtc:13082 Change-Id: I7ef1ef3b6e3c41b1a96014aa75f003c0fcf33949 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249365 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35814}
2022-01-26Allow specifying delayed task precision of dcsctp::Timer.Henrik Boström
Context: The timer precision of PostDelayedTask() is about to be lowered to include up to 17 ms leeway. In order not to break use cases that require high precision timers, PostDelayedHighPrecisionTask() will continue to have the same precision that PostDelayedTask() has today. webrtc::TaskQueueBase has an enum (kLow, kHigh) to decide which precision to use when calling PostDelayedTaskWithPrecision(). See go/postdelayedtask-precision-in-webrtc for motivation and a table of delayed task use cases in WebRTC that are "high" or "low" precision. Most timers in DCSCTP are believed to only be needing low precision (see table), but the delayed_ack_timer_ of DataTracker[1] is an example of a use case that is likely to break if the timer precision is lowered (if ACK is sent too late, retransmissions may occur). So this is considered a high precision use case. This CL makes it possible to specify the precision of dcsctp::Timer. In a follow-up CL we will update delayed_ack_timer_ to kHigh precision. [1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/net/dcsctp/rx/data_tracker.cc;l=340 Bug: webrtc:13604 Change-Id: I8eec5ce37044096978b5dd1985fbb00bc0d8fb7e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249081 Reviewed-by: Victor Boivie <boivie@webrtc.org> Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org> Commit-Queue: Henrik Boström <hbos@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35809}
2022-01-26Revert "Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely"Artem Titov
This reverts commit 5f0eb93d2a44cec2102fc8c3757d5bb814bd145f. Reason for revert: Breaks downstream project. I'm going to fix that one and create a reland of this CL after. Original change's description: > Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely > > Bug: webrtc:13555, webrtc:13082 > Change-Id: Iff2cda6f516739419e97e975e03f77a98f74be03 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249260 > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Reviewed-by: Artem Titov <titovartem@webrtc.org> > Commit-Queue: (Daniel.L) Byoungchan Lee <daniel.l@hpcnt.com> > Cr-Commit-Position: refs/heads/main@{#35805} TBR=hta@webrtc.org,titovartem@webrtc.org,daniel.l@hpcnt.com,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com Change-Id: I33d497f1132adfe6d151023195a388d9b7d548f9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:13555, webrtc:13082 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249364 Reviewed-by: Artem Titov <titovartem@webrtc.org> Owners-Override: Artem Titov <titovartem@webrtc.org> Reviewed-by: Andrey Logvin <landrey@webrtc.org> Reviewed-by: Björn Terelius <terelius@webrtc.org> Commit-Queue: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35807}
2022-01-26Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completelyByoungchan Lee
Bug: webrtc:13555, webrtc:13082 Change-Id: Iff2cda6f516739419e97e975e03f77a98f74be03 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249260 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Artem Titov <titovartem@webrtc.org> Commit-Queue: (Daniel.L) Byoungchan Lee <daniel.l@hpcnt.com> Cr-Commit-Position: refs/heads/main@{#35805}
2022-01-13add thread check in DcSctpTransport::OnTransportReadPacketPhilipp Hancke
Bug: None Change-Id: I1e5e28674617e9ebb322831f95f6f6b88daa7be6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/245600 Reviewed-by: Victor Boivie <boivie@webrtc.org> Reviewed-by: Florent Castelli <orphis@webrtc.org> Commit-Queue: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35679}
2021-11-17Remove the AsyncInvoker alias.Tommi
This emphasizes the "hint" to potential external users that the class has been deprecated. Bug: webrtc:12339 Change-Id: Iab83481af69a505059297cce959f02b5ab649f2f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237805 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Tommi <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35368}
2021-11-04Remove usage of INFO alias for LS_INFO in log messagesHarald Alvestrand
Bug: webrtc:13362 Change-Id: Ifda893861a036a85c045cd366f9eab33c62ebde0 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237221 Reviewed-by: Niels Moller <nisse@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35310}
2021-10-18usrsctp: Log EWOULDBLOCK at verbose instead of info level in transportFlorent Castelli
Benchmarks will spam a lot of annoying lines because of this. Bug: webrtc:13288 Change-Id: I1321abafb91baefcaa626a561bee58ca3f321291 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/235371 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35225}
2021-10-14sctp: dcsctp: Don't log full send buffer as errorVictor Boivie
When sending a large amount of data, the sender will want to keep the send buffer full so that the socket can quickly drain it as its able to put more bytes on the wire. When trying to send a message and when the send buffer is full, an error will be returned and the OnError callback will be triggered. In these situations, this is an expected and handled error and should not be logged as an error, as it causes confusion. Bug: chromium:1258225 Change-Id: I3e1feab03f60ba5c41cc524d8d8f066445030d18 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/235201 Reviewed-by: Florent Castelli <orphis@webrtc.org> Commit-Queue: Victor Boivie <boivie@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35204}
2021-09-22sctp: dcsctp: Manage lifecycle explicitlyVictor Boivie
Prior to this commit, the SCTP association could terminate due to too many retransmission attempts when there is a long duration of packet loss. The RTCPeerConnection wouldn't terminate, and when the network later recovers (possibly using a different ICE candidate), it would be a RTCPeerConnection with media, but without DataChannels. This commit will make the dcSCTP library never abort by itself when there are too many retransmissions. It will also put a cap on the retry duration so that it will do a retry every three seconds (or lower). Bug: webrtc:13129 Change-Id: I08162ea20d6a60aa0eae2717966d9a2ddba8fc22 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232540 Commit-Queue: Victor Boivie <boivie@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35061}
2021-09-06media: sctp: Convert frequent logs to RTC_DLOGVictor Boivie
In benchmarks, each log statement represent 2% of the CPU usage. RTC_LOG is not very expensive, but not free either, and it's called for every received and sent packet. Bug: webrtc:12943 Change-Id: Id65baafb5e494091a3a7604687718fdd4f477d86 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231223 Reviewed-by: Florent Castelli <orphis@webrtc.org> Commit-Queue: Victor Boivie <boivie@webrtc.org> Cr-Commit-Position: refs/heads/main@{#34929}
2021-08-17usrsctp: Remove usage of usrsctp_getladdrs()Florent Castelli
Using usrsctp_getladdrs() would sometimes be flagged by TSAN for a lock order inversion. It was used to retrieve the "id" of the socket on the transport. The "id" is instead stored in the "ulp_info" parameter, which is passed with each callback from usrsctp. Bug: webrtc:12823 Change-Id: Ifb3d7780273a460e677526dd3a93f9365b29300c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/229000 Commit-Queue: Florent Castelli <orphis@webrtc.org> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34784}
2021-08-16dcsctp: Add API to indicate packet send statusVictor Boivie
Before this change, there was no way for a client to indicate to the dcSCTP library if a packet that was supposed to be sent, was actually sent. It was assumed that it always was. To handle temporary failures better, such as retrying to send packets that failed to be sent when the send buffer was full, this information is propagated to the library. Note that this change only covers the API and adaptations to clients. The actual implementation to make use of this information is done as a follow-up change. Bug: webrtc:12943 Change-Id: I8f9c62e17f1de1566fa6b0f13a57a3db9f4e7684 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228563 Commit-Queue: Victor Boivie <boivie@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34767}
2021-08-10Use backticks not vertical bars to denote variables in commentsArtem Titov
Bug: webrtc:12338 Change-Id: I89c8b3a328d04203177522cbdfd9e606fd4bce4c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228246 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34696}
2021-07-27Use backticks not vertical bars to denote variables in comments for /mediaArtem Titov
Bug: webrtc:12338 Change-Id: Ia800a4017ede1f647b36f809ef3c5b37a2616fdd Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226949 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34567}
2021-07-10dcsctp: Extract logging packet observer as utilityVictor Boivie
It is useful for more than just the transport. Bug: webrtc:12961 Change-Id: Iad064c8fb707ca589a1c232e17436338fb06623d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225543 Commit-Queue: Victor Boivie <boivie@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34451}
2021-06-29DataChannel: Propagate SCTP transport errors to the channelsFlorent Castelli
When the transport is terminated, if an error has occured, it will be propagated to the channels. When such errors can happen at the SCTP level (e.g. out of resources), RTCError may contain an error code matching the definition at https://www.iana.org/assignments/sctp-parameters/sctp-parameters.xhtml#sctp-parameters-24 If the m= line is rejected or removed from SDP, an error will again be sent to the data channels, signaling their unexpected transition to closed. Bug: webrtc:12904 Change-Id: Iea3d8aba0a57bbedb5d03f0fb6f7aba292e92fe8 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/223541 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34386}
2021-06-18dcsctp: Add DcSctpSocketFactoryFlorent Castelli
The factory allows us to isolate the implementation from users who only need to depend directly on the public folder now. Bug: webrtc:12614 Change-Id: Ied09cf772ed427eaf17a7b5705f587da57405640 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220939 Commit-Queue: Florent Castelli <orphis@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34330}
2021-05-27dcsctp: Add public API for BufferedAmountLowVictor Boivie
This adds native support for the RTCDataChannel properties: https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel/bufferedAmount https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel/bufferedAmountLowThreshold And the RTCDataChannel event: https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel/onbufferedamountlow The old callback, NotifyOutgoingMessageBufferEmpty, is deprecated as it didn't work very well. It will not be triggered and will be removed as soon as all users of it are gone. There is a new callback, OnTotalBufferedAmountLow, that serves the same purpose but also allows setting an arbitrary limit when it should be triggered (See DcSctpOptions::total_buffered_amount_low_threshold). Bug: webrtc:12794 Change-Id: Ic1c92f174eff8a1acda0b5fd3dcc45bd1cfa2704 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219691 Commit-Queue: Victor Boivie <boivie@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34144}
2021-05-25dcsctp: start SCTP_DUMP on a new linePhilipp Hancke
for consistency with usrsctp_dumppacket which prefixes its output with a newline. This makes the packets easier to grep and process with text2pcap. BUG=webrtc:12614 Change-Id: I67bc2e0026250b21b030daf967ebc697640f2d7e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220102 Reviewed-by: Victor Boivie <boivie@webrtc.org> Commit-Queue: Philipp Hancke <phancke@nvidia.com> Cr-Commit-Position: refs/heads/master@{#34114}
2021-05-19sctp: Reduce logging level for common callsVictor Boivie
Reduced the level so that the library can be run with INFO level without a lot of spam. VERBOSE is still reserved for frequent logs. Also, using WARNING for logs that are not fatal and which can easily be triggered by the user. Bug: webrtc:12614 Change-Id: If09c302b2b5bfc002471f86a8aeb74ba1172c705 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219465 Reviewed-by: Florent Castelli <orphis@webrtc.org> Commit-Queue: Victor Boivie <boivie@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34054}
2021-05-12sctp: dcsctp: Print SCTP packets to logsVictor Boivie
When verbose logs are enabled, SCTP packets will be dumped to debug logs, allowing text2pcap to be used to generate PCAP files. First start Chrome with verbose logs, and write those to file: /path/to/chrome --enable-logging=stderr --v=4 2> out.log Then extract the SCTP_PACKET traces and run text2pcap: grep SCTP_PACKET out.log > sctp.log text2pcap -n -i 132 -D -t '%H:%M:%S.' sctp.log sctp.pcapng You may have to cut away more from the beginning if the debug logs contain additional timestamps and more, e.g. like: grep SCTP_PACKET out.log | cut -d ' ' -f 2- > sctp.log Note that if there are multiple RTCPeerConnection objects created, each will print out their packets to log, so to filter for a specific one: grep "SCTP_PACKET DcSctpTransport0" out.log > sctp.log Bug: webrtc:12614 Change-Id: Ibbceaf33719d09e7606247cb0496ddd827ea58bb Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218200 Commit-Queue: Victor Boivie <boivie@webrtc.org> Reviewed-by: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33999}
2021-05-11sctp: dcsctp: Remove log statementVictor Boivie
This log statement is quite spammy and isn't of any help, so remove it. Bug: webrtc:12614 Change-Id: Ia087228e0a3f602d558fcb7cbd9ec5295f35dcb9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218202 Reviewed-by: Florent Castelli <orphis@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Victor Boivie <boivie@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33981}
2021-05-11Add boivie and orphis to media/sctp/OWNERS fileFlorent Castelli
Bug: webrtc:12614 Change-Id: I394989bdddc5b1197bbd0c84f4ae3b4955459a8e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218281 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33978}
2021-05-10datachannel: Merge SendDataParams and DMT types with webrtc equivalentFlorent Castelli
cricket::SendDataParams is replaced by webrtc::SendDataParams. cricket::DataMessageType is replaced by webrtc::DataMessageType. The sid member from cricket::SendDataParams is now passed as an argument to functions that used one when necessary. Bug: webrtc:7484 Change-Id: Ia4a89c9651fb54ab9a084a6098d49130b6319e1b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/217761 Commit-Queue: Florent Castelli <orphis@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33966}
2021-05-07datachannel: Make SendDataParams reliability fields optional<int>Florent Castelli
It doesn't make sense to use negative values or 0 to disable the feature, so we use an optional int value. Values bigger than 65535 are clamped down. Bug: webrtc:12730 Change-Id: I6bd9cd92f7d0a70a78cf5a7c91dca52c28d08ba1 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/217760 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33954}
2021-05-06sctp: Add DcsctpTransport based on dcSCTPFlorent Castelli
Bug: webrtc:12614 Change-Id: Ie710621610fff9f8bb6c7d800419675892d6a70c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215680 Commit-Queue: Florent Castelli <orphis@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Victor Boivie <boivie@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33935}
2021-04-22usrsctp: Support sending and receiving empty messagesFlorent Castelli
Add new PPIDs 56 and 57. When sending an empty message, we use the corresponding PPID with a single byte data chunk. On the receiving side, when detecting such a PPID, we just ignore the payload content. Bug: webrtc:12697 Change-Id: I6af481e7281db10d9663e1c0aaf97b3e608432a1 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215931 Commit-Queue: Florent Castelli <orphis@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33808}
2021-04-20Remove ReceiveDataParams::timestampFlorent Castelli
This field was only used in RTP Data Channels and isn't needed anymore. Bug: webrtc:6625 Change-Id: Ieaa7ae03ca3e90eb4ddec4d384f5a76cef1600cc Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215687 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33791}
2021-04-15sctp: Reorganize build targetsFlorent Castelli
Bug: webrtc:12614 Change-Id: I2d276139746bb8cafdd5c50fe4595e60a6b1c7fc Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215234 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33745}
2021-04-15Delete AsyncInvoker usage from SimulatedPacketTransportNiels Möller
Bug: webrtc:12339 Change-Id: Ic293f9c8791ec24025f9eac39cbc4fcf2583d3ea Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212867 Commit-Queue: Niels Moller <nisse@webrtc.org> Reviewed-by: Taylor <deadbeef@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33741}
2021-04-15Fix regression in UsrSctpReliabilityTestNiels Möller
These tests, not run by default, were broken by https://webrtc-review.googlesource.com/c/src/+/212862. Bug: webrtc:12339 Change-Id: I442795d72d1a162f5b1abe80f466469b2bc32ed4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/213424 Commit-Queue: Niels Moller <nisse@webrtc.org> Reviewed-by: Taylor <deadbeef@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33738}
2021-04-12sctp: Rename SctpTransport to UsrSctpTransportFlorent Castelli
The rename ensures we don't confuse this implementation with the new one based on the new dcSCTP library. Bug: webrtc:12614 No-Presubmit: True Change-Id: Ida08659bbea9c98aba8247d4368799ff7dd18729 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214482 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33688}
2021-04-08sctp: Move SctpTransportFactory to a separate fileFlorent Castelli
Bug: webrtc:12614 Change-Id: Ifc0e96ed3262e6ca057cd73d736a7ac081493f53 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214481 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33663}
2021-03-25Delete AsyncInvoker usage from SctpDataSenderNiels Möller
Bug: webrtc:12339 Change-Id: I018137103c45e380c89cd4bdeefd434c1d4252e0 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212862 Reviewed-by: Taylor <deadbeef@webrtc.org> Commit-Queue: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33556}
2021-03-17sctp: Finish sending partial messages before sending stream reset eventsFlorent Castelli
Bug: chromium:1182354 Change-Id: Ia4c88763308df88bff2a493fad2968f7f7594369 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211840 Commit-Queue: Florent Castelli <orphis@webrtc.org> Reviewed-by: Taylor <deadbeef@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33489}
2021-03-11Reland "Fix race between destroying SctpTransport and receiving notification ↵Taylor Brandstetter
on timer thread." This reverts commit 8a38b1cf681cd77f0d59a68fb45d8dedbd7d4cee. Reason for reland: Problem was identified; has something to do with the unique_ptr with the custom deleter. Original change's description: > Revert "Fix race between destroying SctpTransport and receiving notification on timer thread." > > This reverts commit a88fe7be146b9b85575504d4d5193c007f2e3de4. > > Reason for revert: Breaks downstream test, still investigating. > > Original change's description: > > Fix race between destroying SctpTransport and receiving notification on timer thread. > > > > This gets rid of the SctpTransportMap::Retrieve method and forces > > everything to go through PostToTransportThread, which behaves safely > > with relation to the transport's destruction. > > > > Bug: webrtc:12467 > > Change-Id: Id4a723c2c985be2a368d2cc5c5e62deb04c509ab > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208800 > > Reviewed-by: Niels Moller <nisse@webrtc.org> > > Commit-Queue: Taylor <deadbeef@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#33364} > > TBR=nisse@webrtc.org > > Bug: webrtc:12467 > Change-Id: Ib5d815a2cbca4feb25f360bff7ed62c02d1910a0 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/209820 > Reviewed-by: Taylor <deadbeef@webrtc.org> > Commit-Queue: Taylor <deadbeef@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33386} Bug: webrtc:12467 Change-Id: I5f9fcd6df7a211e6edfa64577fc953833f4d9b79 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/210040 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Florent Castelli <orphis@webrtc.org> Commit-Queue: Taylor <deadbeef@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33427}
2021-03-05Revert "Fix race between destroying SctpTransport and receiving notification ↵Taylor
on timer thread." This reverts commit a88fe7be146b9b85575504d4d5193c007f2e3de4. Reason for revert: Breaks downstream test, still investigating. Original change's description: > Fix race between destroying SctpTransport and receiving notification on timer thread. > > This gets rid of the SctpTransportMap::Retrieve method and forces > everything to go through PostToTransportThread, which behaves safely > with relation to the transport's destruction. > > Bug: webrtc:12467 > Change-Id: Id4a723c2c985be2a368d2cc5c5e62deb04c509ab > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208800 > Reviewed-by: Niels Moller <nisse@webrtc.org> > Commit-Queue: Taylor <deadbeef@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33364} TBR=nisse@webrtc.org Bug: webrtc:12467 Change-Id: Ib5d815a2cbca4feb25f360bff7ed62c02d1910a0 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/209820 Reviewed-by: Taylor <deadbeef@webrtc.org> Commit-Queue: Taylor <deadbeef@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33386}
2021-03-01Fix race between destroying SctpTransport and receiving notification on ↵Taylor Brandstetter
timer thread. This gets rid of the SctpTransportMap::Retrieve method and forces everything to go through PostToTransportThread, which behaves safely with relation to the transport's destruction. Bug: webrtc:12467 Change-Id: Id4a723c2c985be2a368d2cc5c5e62deb04c509ab Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208800 Reviewed-by: Niels Moller <nisse@webrtc.org> Commit-Queue: Taylor <deadbeef@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33364}
2021-02-25Change the safe SCTP MTU size to 1191Tomas Gunnarsson
Bug: webrtc:12495 Change-Id: Ie149391a5a9f61095cf3f31db141c9bbc8be8bee Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208642 Reviewed-by: Taylor <deadbeef@webrtc.org> Reviewed-by: Philipp Hancke <philipp.hancke@googlemail.com> Commit-Queue: Tommi <tommi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33338}
2021-02-10Use SequenceChecker from public APIArtem Titov
Bug: webrtc:12419 Change-Id: I00cca16a0ec70246156ba00b97aa7ae5ccbf5364 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/205323 Commit-Queue: Artem Titov <titovartem@webrtc.org> Reviewed-by: Tommi <tommi@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33220}
2021-02-02Replace rtc::ThreadChecker with webrtc::SequenceCheckerArtem Titov
Bug: webrtc:12419 Change-Id: I825c014cc1c4b1dcba5ef300409d44859e971144 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/205002 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Tommi <tommi@webrtc.org> Commit-Queue: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33136}