mediasoup 3.19.22 → 3.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (623) hide show
  1. package/node/lib/ActiveSpeakerObserver.js +34 -1
  2. package/node/lib/AudioLevelObserver.js +35 -2
  3. package/node/lib/Channel.d.ts.map +1 -1
  4. package/node/lib/Channel.js +37 -5
  5. package/node/lib/Consumer.js +39 -6
  6. package/node/lib/DataConsumer.d.ts.map +1 -1
  7. package/node/lib/DataConsumer.js +39 -5
  8. package/node/lib/DataConsumerTypes.d.ts +1 -0
  9. package/node/lib/DataConsumerTypes.d.ts.map +1 -1
  10. package/node/lib/DataProducer.js +37 -4
  11. package/node/lib/DirectTransport.js +37 -4
  12. package/node/lib/DirectTransportTypes.d.ts +7 -2
  13. package/node/lib/DirectTransportTypes.d.ts.map +1 -1
  14. package/node/lib/Logger.js +4 -1
  15. package/node/lib/PipeTransport.d.ts +3 -1
  16. package/node/lib/PipeTransport.d.ts.map +1 -1
  17. package/node/lib/PipeTransport.js +56 -5
  18. package/node/lib/PipeTransportTypes.d.ts +28 -8
  19. package/node/lib/PipeTransportTypes.d.ts.map +1 -1
  20. package/node/lib/PlainTransport.d.ts +3 -1
  21. package/node/lib/PlainTransport.d.ts.map +1 -1
  22. package/node/lib/PlainTransport.js +54 -3
  23. package/node/lib/PlainTransportTypes.d.ts +27 -7
  24. package/node/lib/PlainTransportTypes.d.ts.map +1 -1
  25. package/node/lib/Producer.js +40 -7
  26. package/node/lib/Router.d.ts +5 -5
  27. package/node/lib/Router.d.ts.map +1 -1
  28. package/node/lib/Router.js +81 -36
  29. package/node/lib/RouterTypes.d.ts +25 -3
  30. package/node/lib/RouterTypes.d.ts.map +1 -1
  31. package/node/lib/RtpObserver.js +36 -3
  32. package/node/lib/Transport.d.ts +3 -1
  33. package/node/lib/Transport.d.ts.map +1 -1
  34. package/node/lib/Transport.js +74 -22
  35. package/node/lib/TransportTypes.d.ts +2 -1
  36. package/node/lib/TransportTypes.d.ts.map +1 -1
  37. package/node/lib/WebRtcServer.js +36 -3
  38. package/node/lib/WebRtcTransport.d.ts +3 -1
  39. package/node/lib/WebRtcTransport.d.ts.map +1 -1
  40. package/node/lib/WebRtcTransport.js +55 -4
  41. package/node/lib/WebRtcTransportTypes.d.ts +27 -7
  42. package/node/lib/WebRtcTransportTypes.d.ts.map +1 -1
  43. package/node/lib/Worker.d.ts +1 -1
  44. package/node/lib/Worker.d.ts.map +1 -1
  45. package/node/lib/Worker.js +63 -31
  46. package/node/lib/WorkerTypes.d.ts +0 -4
  47. package/node/lib/WorkerTypes.d.ts.map +1 -1
  48. package/node/lib/enhancedEvents.d.ts +2 -2
  49. package/node/lib/enhancedEvents.d.ts.map +1 -1
  50. package/node/lib/enhancedEvents.js +0 -2
  51. package/node/lib/fbs/active-speaker-observer/active-speaker-observer-options.js +34 -1
  52. package/node/lib/fbs/active-speaker-observer/dominant-speaker-notification.js +34 -1
  53. package/node/lib/fbs/audio-level-observer/audio-level-observer-options.js +34 -1
  54. package/node/lib/fbs/audio-level-observer/volume.js +34 -1
  55. package/node/lib/fbs/audio-level-observer/volumes-notification.js +34 -1
  56. package/node/lib/fbs/common/string-string-array.js +34 -1
  57. package/node/lib/fbs/common/string-string.js +34 -1
  58. package/node/lib/fbs/common/string-uint8.js +34 -1
  59. package/node/lib/fbs/common/uint16-string.js +34 -1
  60. package/node/lib/fbs/common/uint32-string.js +34 -1
  61. package/node/lib/fbs/consumer/base-consumer-dump.js +34 -1
  62. package/node/lib/fbs/consumer/consumer-dump.js +34 -1
  63. package/node/lib/fbs/consumer/consumer-layers.js +34 -1
  64. package/node/lib/fbs/consumer/consumer-score.js +34 -1
  65. package/node/lib/fbs/consumer/dump-response.js +34 -1
  66. package/node/lib/fbs/consumer/enable-trace-event-request.js +34 -1
  67. package/node/lib/fbs/consumer/fir-trace-info.js +34 -1
  68. package/node/lib/fbs/consumer/get-stats-response.js +34 -1
  69. package/node/lib/fbs/consumer/key-frame-trace-info.js +34 -1
  70. package/node/lib/fbs/consumer/layers-change-notification.js +34 -1
  71. package/node/lib/fbs/consumer/pli-trace-info.js +34 -1
  72. package/node/lib/fbs/consumer/rtp-notification.js +34 -1
  73. package/node/lib/fbs/consumer/rtp-trace-info.js +34 -1
  74. package/node/lib/fbs/consumer/score-notification.js +34 -1
  75. package/node/lib/fbs/consumer/set-preferred-layers-request.js +34 -1
  76. package/node/lib/fbs/consumer/set-preferred-layers-response.js +34 -1
  77. package/node/lib/fbs/consumer/set-priority-request.js +34 -1
  78. package/node/lib/fbs/consumer/set-priority-response.js +34 -1
  79. package/node/lib/fbs/consumer/trace-notification.js +34 -1
  80. package/node/lib/fbs/data-consumer/add-subchannel-request.js +34 -1
  81. package/node/lib/fbs/data-consumer/add-subchannel-response.js +34 -1
  82. package/node/lib/fbs/data-consumer/buffered-amount-low-notification.js +34 -1
  83. package/node/lib/fbs/data-consumer/dump-response.d.ts +5 -2
  84. package/node/lib/fbs/data-consumer/dump-response.d.ts.map +1 -1
  85. package/node/lib/fbs/data-consumer/dump-response.js +60 -16
  86. package/node/lib/fbs/data-consumer/get-buffered-amount-response.js +34 -1
  87. package/node/lib/fbs/data-consumer/get-stats-response.js +34 -1
  88. package/node/lib/fbs/data-consumer/message-notification.js +34 -1
  89. package/node/lib/fbs/data-consumer/remove-subchannel-request.js +34 -1
  90. package/node/lib/fbs/data-consumer/remove-subchannel-response.js +34 -1
  91. package/node/lib/fbs/data-consumer/send-request.js +34 -1
  92. package/node/lib/fbs/data-consumer/set-buffered-amount-low-threshold-request.js +34 -1
  93. package/node/lib/fbs/data-consumer/set-subchannels-request.js +34 -1
  94. package/node/lib/fbs/data-consumer/set-subchannels-response.js +34 -1
  95. package/node/lib/fbs/data-consumer/type.d.ts +5 -0
  96. package/node/lib/fbs/data-consumer/type.d.ts.map +1 -0
  97. package/node/lib/fbs/data-consumer/type.js +10 -0
  98. package/node/lib/fbs/data-consumer.d.ts +1 -0
  99. package/node/lib/fbs/data-consumer.d.ts.map +1 -1
  100. package/node/lib/fbs/data-consumer.js +3 -1
  101. package/node/lib/fbs/data-producer/dump-response.js +34 -1
  102. package/node/lib/fbs/data-producer/get-stats-response.js +34 -1
  103. package/node/lib/fbs/data-producer/send-notification.js +34 -1
  104. package/node/lib/fbs/direct-transport/direct-transport-options.js +34 -1
  105. package/node/lib/fbs/direct-transport/dump-response.js +34 -1
  106. package/node/lib/fbs/direct-transport/get-stats-response.js +34 -1
  107. package/node/lib/fbs/direct-transport/rtcp-notification.js +34 -1
  108. package/node/lib/fbs/lib-uring/dump.js +34 -1
  109. package/node/lib/fbs/log/log.js +34 -1
  110. package/node/lib/fbs/message/message.js +34 -1
  111. package/node/lib/fbs/notification/body.d.ts +24 -22
  112. package/node/lib/fbs/notification/body.d.ts.map +1 -1
  113. package/node/lib/fbs/notification/body.js +24 -20
  114. package/node/lib/fbs/notification/event.d.ts +27 -26
  115. package/node/lib/fbs/notification/event.d.ts.map +1 -1
  116. package/node/lib/fbs/notification/event.js +27 -26
  117. package/node/lib/fbs/notification/notification.d.ts +3 -2
  118. package/node/lib/fbs/notification/notification.d.ts.map +1 -1
  119. package/node/lib/fbs/notification/notification.js +34 -1
  120. package/node/lib/fbs/pipe-transport/connect-request.js +34 -1
  121. package/node/lib/fbs/pipe-transport/connect-response.js +34 -1
  122. package/node/lib/fbs/pipe-transport/dump-response.js +34 -1
  123. package/node/lib/fbs/pipe-transport/get-stats-response.js +34 -1
  124. package/node/lib/fbs/pipe-transport/pipe-transport-options.js +34 -1
  125. package/node/lib/fbs/plain-transport/connect-request.js +34 -1
  126. package/node/lib/fbs/plain-transport/connect-response.js +34 -1
  127. package/node/lib/fbs/plain-transport/dump-response.js +34 -1
  128. package/node/lib/fbs/plain-transport/get-stats-response.js +34 -1
  129. package/node/lib/fbs/plain-transport/plain-transport-options.js +34 -1
  130. package/node/lib/fbs/plain-transport/rtcp-tuple-notification.js +34 -1
  131. package/node/lib/fbs/plain-transport/tuple-notification.js +34 -1
  132. package/node/lib/fbs/producer/dump-response.js +34 -1
  133. package/node/lib/fbs/producer/enable-trace-event-request.js +34 -1
  134. package/node/lib/fbs/producer/fir-trace-info.js +34 -1
  135. package/node/lib/fbs/producer/get-stats-response.js +34 -1
  136. package/node/lib/fbs/producer/key-frame-trace-info.js +34 -1
  137. package/node/lib/fbs/producer/pli-trace-info.js +34 -1
  138. package/node/lib/fbs/producer/rtp-trace-info.js +34 -1
  139. package/node/lib/fbs/producer/score-notification.js +34 -1
  140. package/node/lib/fbs/producer/score.js +34 -1
  141. package/node/lib/fbs/producer/send-notification.js +34 -1
  142. package/node/lib/fbs/producer/sr-trace-info.js +34 -1
  143. package/node/lib/fbs/producer/trace-notification.js +34 -1
  144. package/node/lib/fbs/producer/video-orientation-change-notification.js +34 -1
  145. package/node/lib/fbs/request/request.js +34 -1
  146. package/node/lib/fbs/response/response.js +34 -1
  147. package/node/lib/fbs/router/close-rtp-observer-request.js +34 -1
  148. package/node/lib/fbs/router/close-transport-request.js +34 -1
  149. package/node/lib/fbs/router/create-active-speaker-observer-request.js +34 -1
  150. package/node/lib/fbs/router/create-audio-level-observer-request.js +34 -1
  151. package/node/lib/fbs/router/create-direct-transport-request.js +34 -1
  152. package/node/lib/fbs/router/create-pipe-transport-request.js +34 -1
  153. package/node/lib/fbs/router/create-plain-transport-request.js +34 -1
  154. package/node/lib/fbs/router/create-web-rtc-transport-request.js +34 -1
  155. package/node/lib/fbs/router/dump-response.js +34 -1
  156. package/node/lib/fbs/rtp-observer/add-producer-request.js +34 -1
  157. package/node/lib/fbs/rtp-observer/remove-producer-request.js +34 -1
  158. package/node/lib/fbs/rtp-packet/dump.js +34 -1
  159. package/node/lib/fbs/rtp-parameters/boolean.js +34 -1
  160. package/node/lib/fbs/rtp-parameters/codec-mapping.js +34 -1
  161. package/node/lib/fbs/rtp-parameters/double.js +34 -1
  162. package/node/lib/fbs/rtp-parameters/encoding-mapping.js +34 -1
  163. package/node/lib/fbs/rtp-parameters/integer32-array.js +34 -1
  164. package/node/lib/fbs/rtp-parameters/integer32.js +34 -1
  165. package/node/lib/fbs/rtp-parameters/parameter.js +34 -1
  166. package/node/lib/fbs/rtp-parameters/rtcp-feedback.js +34 -1
  167. package/node/lib/fbs/rtp-parameters/rtcp-parameters.js +34 -1
  168. package/node/lib/fbs/rtp-parameters/rtp-codec-parameters.js +34 -1
  169. package/node/lib/fbs/rtp-parameters/rtp-encoding-parameters.js +34 -1
  170. package/node/lib/fbs/rtp-parameters/rtp-header-extension-parameters.js +34 -1
  171. package/node/lib/fbs/rtp-parameters/rtp-mapping.js +34 -1
  172. package/node/lib/fbs/rtp-parameters/rtp-parameters.js +34 -1
  173. package/node/lib/fbs/rtp-parameters/rtx.js +34 -1
  174. package/node/lib/fbs/rtp-parameters/string.js +34 -1
  175. package/node/lib/fbs/rtp-stream/base-stats.js +34 -1
  176. package/node/lib/fbs/rtp-stream/bitrate-by-layer.js +34 -1
  177. package/node/lib/fbs/rtp-stream/dump.js +34 -1
  178. package/node/lib/fbs/rtp-stream/params.js +34 -1
  179. package/node/lib/fbs/rtp-stream/recv-stats.js +34 -1
  180. package/node/lib/fbs/rtp-stream/send-stats.js +34 -1
  181. package/node/lib/fbs/rtp-stream/stats.js +34 -1
  182. package/node/lib/fbs/rtx-stream/params.js +34 -1
  183. package/node/lib/fbs/rtx-stream/rtx-dump.js +34 -1
  184. package/node/lib/fbs/sctp-association/sctp-negotiated-capabilities.d.ts +24 -0
  185. package/node/lib/fbs/sctp-association/sctp-negotiated-capabilities.d.ts.map +1 -0
  186. package/node/lib/fbs/sctp-association/sctp-negotiated-capabilities.js +102 -0
  187. package/node/lib/fbs/sctp-association.d.ts +1 -0
  188. package/node/lib/fbs/sctp-association.d.ts.map +1 -1
  189. package/node/lib/fbs/sctp-association.js +4 -1
  190. package/node/lib/fbs/sctp-parameters/num-sctp-streams.js +34 -1
  191. package/node/lib/fbs/sctp-parameters/sctp-parameters.d.ts +14 -14
  192. package/node/lib/fbs/sctp-parameters/sctp-parameters.d.ts.map +1 -1
  193. package/node/lib/fbs/sctp-parameters/sctp-parameters.js +73 -40
  194. package/node/lib/fbs/sctp-parameters/sctp-stream-parameters.js +34 -1
  195. package/node/lib/fbs/sctp-parameters.d.ts +0 -1
  196. package/node/lib/fbs/sctp-parameters.d.ts.map +1 -1
  197. package/node/lib/fbs/sctp-parameters.js +1 -4
  198. package/node/lib/fbs/srtp-parameters/srtp-parameters.js +34 -1
  199. package/node/lib/fbs/transport/bwe-trace-info.js +34 -1
  200. package/node/lib/fbs/transport/close-consumer-request.js +34 -1
  201. package/node/lib/fbs/transport/close-data-consumer-request.js +34 -1
  202. package/node/lib/fbs/transport/close-data-producer-request.js +34 -1
  203. package/node/lib/fbs/transport/close-producer-request.js +34 -1
  204. package/node/lib/fbs/transport/consume-data-request.d.ts +1 -1
  205. package/node/lib/fbs/transport/consume-data-request.js +35 -2
  206. package/node/lib/fbs/transport/consume-request.js +34 -1
  207. package/node/lib/fbs/transport/consume-response.js +34 -1
  208. package/node/lib/fbs/transport/dump.d.ts +7 -4
  209. package/node/lib/fbs/transport/dump.d.ts.map +1 -1
  210. package/node/lib/fbs/transport/dump.js +66 -22
  211. package/node/lib/fbs/transport/enable-trace-event-request.js +34 -1
  212. package/node/lib/fbs/transport/listen-info.js +34 -1
  213. package/node/lib/fbs/transport/options.d.ts +14 -14
  214. package/node/lib/fbs/transport/options.d.ts.map +1 -1
  215. package/node/lib/fbs/transport/options.js +92 -51
  216. package/node/lib/fbs/transport/port-range.js +34 -1
  217. package/node/lib/fbs/transport/produce-data-request.js +34 -1
  218. package/node/lib/fbs/transport/produce-request.js +34 -1
  219. package/node/lib/fbs/transport/produce-response.js +34 -1
  220. package/node/lib/fbs/transport/recv-rtp-header-extensions.js +34 -1
  221. package/node/lib/fbs/transport/restart-ice-response.js +34 -1
  222. package/node/lib/fbs/transport/rtp-listener.js +34 -1
  223. package/node/lib/fbs/transport/sctp-listener.js +34 -1
  224. package/node/lib/fbs/transport/sctp-negotiated-capabilities-notification.d.ts +22 -0
  225. package/node/lib/fbs/transport/sctp-negotiated-capabilities-notification.d.ts.map +1 -0
  226. package/node/lib/fbs/transport/sctp-negotiated-capabilities-notification.js +93 -0
  227. package/node/lib/fbs/transport/sctp-state-change-notification.js +34 -1
  228. package/node/lib/fbs/transport/send-rtcp-notification.js +34 -1
  229. package/node/lib/fbs/transport/set-max-incoming-bitrate-request.js +34 -1
  230. package/node/lib/fbs/transport/set-max-outgoing-bitrate-request.js +34 -1
  231. package/node/lib/fbs/transport/set-min-outgoing-bitrate-request.js +34 -1
  232. package/node/lib/fbs/transport/socket-flags.js +34 -1
  233. package/node/lib/fbs/transport/stats.js +34 -1
  234. package/node/lib/fbs/transport/trace-notification.js +34 -1
  235. package/node/lib/fbs/transport/tuple.js +34 -1
  236. package/node/lib/fbs/transport.d.ts +1 -0
  237. package/node/lib/fbs/transport.d.ts.map +1 -1
  238. package/node/lib/fbs/transport.js +5 -2
  239. package/node/lib/fbs/web-rtc-server/dump-response.js +34 -1
  240. package/node/lib/fbs/web-rtc-server/ice-user-name-fragment.js +34 -1
  241. package/node/lib/fbs/web-rtc-server/ip-port.js +34 -1
  242. package/node/lib/fbs/web-rtc-server/tuple-hash.js +34 -1
  243. package/node/lib/fbs/web-rtc-transport/connect-request.js +34 -1
  244. package/node/lib/fbs/web-rtc-transport/connect-response.js +34 -1
  245. package/node/lib/fbs/web-rtc-transport/dtls-parameters.js +34 -1
  246. package/node/lib/fbs/web-rtc-transport/dtls-state-change-notification.js +34 -1
  247. package/node/lib/fbs/web-rtc-transport/dump-response.js +34 -1
  248. package/node/lib/fbs/web-rtc-transport/fingerprint.js +34 -1
  249. package/node/lib/fbs/web-rtc-transport/get-stats-response.js +34 -1
  250. package/node/lib/fbs/web-rtc-transport/ice-candidate.js +34 -1
  251. package/node/lib/fbs/web-rtc-transport/ice-parameters.js +34 -1
  252. package/node/lib/fbs/web-rtc-transport/ice-selected-tuple-change-notification.js +34 -1
  253. package/node/lib/fbs/web-rtc-transport/ice-state-change-notification.js +34 -1
  254. package/node/lib/fbs/web-rtc-transport/listen-individual.js +34 -1
  255. package/node/lib/fbs/web-rtc-transport/listen-server.js +34 -1
  256. package/node/lib/fbs/web-rtc-transport/web-rtc-transport-options.js +34 -1
  257. package/node/lib/fbs/worker/channel-message-handlers.js +34 -1
  258. package/node/lib/fbs/worker/close-router-request.js +34 -1
  259. package/node/lib/fbs/worker/close-web-rtc-server-request.js +34 -1
  260. package/node/lib/fbs/worker/create-router-request.js +34 -1
  261. package/node/lib/fbs/worker/create-web-rtc-server-request.js +34 -1
  262. package/node/lib/fbs/worker/dump-response.js +34 -1
  263. package/node/lib/fbs/worker/resource-usage-response.js +34 -1
  264. package/node/lib/fbs/worker/update-settings-request.js +34 -1
  265. package/node/lib/index.d.ts +1 -1
  266. package/node/lib/index.d.ts.map +1 -1
  267. package/node/lib/index.js +37 -5
  268. package/node/lib/ortc.js +36 -3
  269. package/node/lib/rtpParametersFbsUtils.js +34 -1
  270. package/node/lib/rtpStreamStatsFbsUtils.js +35 -2
  271. package/node/lib/sctpParametersFbsUtils.d.ts +2 -2
  272. package/node/lib/sctpParametersFbsUtils.d.ts.map +1 -1
  273. package/node/lib/sctpParametersFbsUtils.js +44 -7
  274. package/node/lib/sctpParametersTypes.d.ts +10 -46
  275. package/node/lib/sctpParametersTypes.d.ts.map +1 -1
  276. package/node/lib/srtpParametersFbsUtils.js +34 -1
  277. package/node/lib/test/test-ActiveSpeakerObserver.js +35 -2
  278. package/node/lib/test/test-AudioLevelObserver.js +35 -2
  279. package/node/lib/test/test-Consumer.js +37 -4
  280. package/node/lib/test/test-DataConsumer.js +35 -2
  281. package/node/lib/test/test-DataProducer.js +35 -2
  282. package/node/lib/test/test-DirectTransport.js +36 -8
  283. package/node/lib/test/test-PipeTransport.js +35 -2
  284. package/node/lib/test/test-PlainTransport.js +45 -12
  285. package/node/lib/test/test-Producer.js +37 -4
  286. package/node/lib/test/test-Router.js +35 -2
  287. package/node/lib/test/test-WebRtcServer.js +34 -1
  288. package/node/lib/test/test-WebRtcTransport.js +51 -22
  289. package/node/lib/test/test-Worker.js +37 -4
  290. package/node/lib/test/test-mediasoup.js +36 -3
  291. package/node/lib/test/test-multiopus.js +35 -2
  292. package/node/lib/test/test-ortc.js +34 -1
  293. package/node/lib/test/test-werift-sctp.js +39 -5
  294. package/npm-scripts.mjs +2 -2
  295. package/package.json +11 -11
  296. package/worker/deps/libwebrtc/LICENSE +5 -0
  297. package/worker/deps/libwebrtc/README.md +3 -3
  298. package/worker/deps/libwebrtc/libwebrtc/mediasoup_helpers.h +13 -10
  299. package/worker/fbs/dataConsumer.fbs +7 -2
  300. package/worker/fbs/dataProducer.fbs +1 -0
  301. package/worker/fbs/notification.fbs +2 -0
  302. package/worker/fbs/sctpAssociation.fbs +4 -0
  303. package/worker/fbs/sctpParameters.fbs +5 -12
  304. package/worker/fbs/transport.fbs +12 -8
  305. package/worker/fuzzer/src/RTC/FuzzerDtlsTransport.cpp +5 -1
  306. package/worker/fuzzer/src/RTC/FuzzerRateCalculator.cpp +2 -2
  307. package/worker/fuzzer/src/RTC/FuzzerSeqManager.cpp +1 -1
  308. package/worker/fuzzer/src/RTC/FuzzerTrendCalculator.cpp +5 -5
  309. package/worker/fuzzer/src/RTC/ICE/FuzzerStunPacket.cpp +9 -6
  310. package/worker/fuzzer/src/RTC/RTP/FuzzerRetransmissionBuffer.cpp +1 -1
  311. package/worker/fuzzer/src/RTC/RTP/FuzzerRtpStreamSend.cpp +6 -2
  312. package/worker/fuzzer/src/RTC/SCTP/association/FuzzerStateCookie.cpp +1 -1
  313. package/worker/fuzzer/src/RTC/SCTP/packet/FuzzerPacket.cpp +5 -2
  314. package/worker/fuzzer/src/fuzzer.cpp +3 -10
  315. package/worker/include/Channel/ChannelRequest.hpp +1 -1
  316. package/worker/include/DepLibUV.hpp +1 -1
  317. package/worker/include/DepLibUring.hpp +3 -3
  318. package/worker/include/Logger.hpp +4 -4
  319. package/worker/include/MediaSoupErrors.hpp +1 -1
  320. package/worker/include/RTC/ActiveSpeakerObserver.hpp +6 -4
  321. package/worker/include/RTC/AudioLevelObserver.hpp +2 -2
  322. package/worker/include/RTC/Consumer.hpp +1 -1
  323. package/worker/include/RTC/DataConsumer.hpp +11 -15
  324. package/worker/include/RTC/DataProducer.hpp +4 -7
  325. package/worker/include/RTC/DirectTransport.hpp +3 -5
  326. package/worker/include/RTC/DtlsTransport.hpp +7 -7
  327. package/worker/include/RTC/ICE/IceServer.hpp +2 -2
  328. package/worker/include/RTC/ICE/StunPacket.hpp +1 -1
  329. package/worker/include/RTC/KeyFrameRequestManager.hpp +1 -1
  330. package/worker/include/RTC/NackGenerator.hpp +3 -2
  331. package/worker/include/RTC/PipeTransport.hpp +3 -5
  332. package/worker/include/RTC/PlainTransport.hpp +3 -5
  333. package/worker/include/RTC/PortManager.hpp +1 -1
  334. package/worker/include/RTC/Producer.hpp +1 -1
  335. package/worker/include/RTC/RTCP/FeedbackPs.hpp +1 -1
  336. package/worker/include/RTC/RTCP/FeedbackRtp.hpp +1 -1
  337. package/worker/include/RTC/RTCP/FeedbackRtpNack.hpp +1 -1
  338. package/worker/include/RTC/RTCP/ReceiverReport.hpp +1 -1
  339. package/worker/include/RTC/RTP/Packet.hpp +2 -2
  340. package/worker/include/RTC/RTP/RtpStream.hpp +11 -12
  341. package/worker/include/RTC/RTP/RtpStreamRecv.hpp +3 -2
  342. package/worker/include/RTC/RTP/RtxStream.hpp +3 -1
  343. package/worker/include/RTC/RTP/SharedPacket.hpp +1 -1
  344. package/worker/include/RTC/RateCalculator.hpp +5 -2
  345. package/worker/include/RTC/Router.hpp +5 -6
  346. package/worker/include/RTC/RtpObserver.hpp +1 -1
  347. package/worker/include/RTC/SCTP/association/Association.hpp +46 -15
  348. package/worker/include/RTC/SCTP/association/AssociationListenerDeferrer.hpp +14 -6
  349. package/worker/include/RTC/SCTP/association/HeartbeatHandler.hpp +12 -11
  350. package/worker/include/RTC/SCTP/association/PacketSender.hpp +3 -3
  351. package/worker/include/RTC/SCTP/association/StateCookie.hpp +1 -1
  352. package/worker/include/RTC/SCTP/association/StreamResetHandler.hpp +26 -26
  353. package/worker/include/RTC/SCTP/association/TransmissionControlBlock.hpp +58 -48
  354. package/worker/include/RTC/SCTP/association/{TCBContext.hpp → TransmissionControlBlockContextInterface.hpp} +11 -6
  355. package/worker/include/RTC/SCTP/packet/Chunk.hpp +3 -3
  356. package/worker/include/RTC/SCTP/packet/TLV.hpp +1 -1
  357. package/worker/include/RTC/SCTP/packet/UserData.hpp +39 -31
  358. package/worker/include/RTC/SCTP/packet/chunks/AnyDataChunk.hpp +1 -1
  359. package/worker/include/RTC/SCTP/packet/chunks/AnyForwardTsnChunk.hpp +9 -9
  360. package/worker/include/RTC/SCTP/packet/chunks/AnyInitChunk.hpp +1 -1
  361. package/worker/include/RTC/SCTP/packet/chunks/DataChunk.hpp +4 -2
  362. package/worker/include/RTC/SCTP/packet/chunks/ForwardTsnChunk.hpp +3 -3
  363. package/worker/include/RTC/SCTP/packet/chunks/IDataChunk.hpp +4 -2
  364. package/worker/include/RTC/SCTP/packet/chunks/IForwardTsnChunk.hpp +3 -3
  365. package/worker/include/RTC/SCTP/packet/chunks/InitAckChunk.hpp +1 -1
  366. package/worker/include/RTC/SCTP/packet/chunks/InitChunk.hpp +1 -1
  367. package/worker/include/RTC/SCTP/packet/chunks/SackChunk.hpp +10 -3
  368. package/worker/include/RTC/SCTP/packet/chunks/ShutdownChunk.hpp +1 -1
  369. package/worker/include/RTC/SCTP/packet/errorCauses/InvalidStreamIdentifierErrorCause.hpp +1 -1
  370. package/worker/include/RTC/SCTP/packet/errorCauses/MissingMandatoryParameterErrorCause.hpp +1 -1
  371. package/worker/include/RTC/SCTP/packet/errorCauses/NoUserDataErrorCause.hpp +1 -1
  372. package/worker/include/RTC/SCTP/packet/errorCauses/StaleCookieErrorCause.hpp +1 -1
  373. package/worker/include/RTC/SCTP/packet/parameters/AddIncomingStreamsRequestParameter.hpp +1 -1
  374. package/worker/include/RTC/SCTP/packet/parameters/AddOutgoingStreamsRequestParameter.hpp +1 -1
  375. package/worker/include/RTC/SCTP/packet/parameters/CookiePreservativeParameter.hpp +1 -1
  376. package/worker/include/RTC/SCTP/packet/parameters/IncomingSsnResetRequestParameter.hpp +1 -1
  377. package/worker/include/RTC/SCTP/packet/parameters/OutgoingSsnResetRequestParameter.hpp +1 -1
  378. package/worker/include/RTC/SCTP/packet/parameters/ReconfigurationResponseParameter.hpp +1 -1
  379. package/worker/include/RTC/SCTP/packet/parameters/SsnTsnResetRequestParameter.hpp +1 -1
  380. package/worker/include/RTC/SCTP/packet/parameters/SupportedAddressTypesParameter.hpp +1 -1
  381. package/worker/include/RTC/SCTP/packet/parameters/SupportedExtensionsParameter.hpp +1 -1
  382. package/worker/include/RTC/SCTP/packet/parameters/ZeroChecksumAcceptableParameter.hpp +1 -1
  383. package/worker/include/RTC/SCTP/public/AssociationInterface.hpp +22 -2
  384. package/worker/include/RTC/SCTP/public/{AssociationListener.hpp → AssociationListenerInterface.hpp} +5 -5
  385. package/worker/include/RTC/SCTP/public/Message.hpp +26 -10
  386. package/worker/include/RTC/SCTP/public/SctpOptions.hpp +29 -21
  387. package/worker/include/RTC/SCTP/public/SctpTypes.hpp +21 -0
  388. package/worker/include/RTC/SCTP/rx/DataTracker.hpp +277 -0
  389. package/worker/include/RTC/SCTP/rx/InterleavedReassemblyStreams.hpp +116 -0
  390. package/worker/include/RTC/SCTP/rx/ReassemblyQueue.hpp +202 -0
  391. package/worker/include/RTC/SCTP/rx/ReassemblyStreamsInterface.hpp +83 -0
  392. package/worker/include/RTC/SCTP/rx/TraditionalReassemblyStreams.hpp +183 -0
  393. package/worker/include/RTC/SCTP/tx/OutstandingData.hpp +48 -57
  394. package/worker/include/RTC/SCTP/tx/RetransmissionErrorCounter.hpp +3 -3
  395. package/worker/include/RTC/SCTP/tx/RetransmissionQueue.hpp +36 -43
  396. package/worker/include/RTC/SCTP/tx/RetransmissionTimeout.hpp +6 -6
  397. package/worker/include/RTC/SCTP/tx/RoundRobinSendQueue.hpp +356 -0
  398. package/worker/include/RTC/SCTP/tx/SendQueueInterface.hpp +180 -0
  399. package/worker/include/RTC/SCTP/tx/StreamScheduler.hpp +235 -0
  400. package/worker/include/RTC/SenderBandwidthEstimator.hpp +5 -1
  401. package/worker/include/RTC/Serializable.hpp +3 -3
  402. package/worker/include/RTC/TcpServer.hpp +2 -2
  403. package/worker/include/RTC/Transport.hpp +59 -80
  404. package/worker/include/RTC/TransportCongestionControlClient.hpp +2 -2
  405. package/worker/include/RTC/TransportCongestionControlServer.hpp +2 -2
  406. package/worker/include/RTC/TransportTuple.hpp +1 -1
  407. package/worker/include/RTC/UdpSocket.hpp +1 -1
  408. package/worker/include/RTC/WebRtcServer.hpp +1 -1
  409. package/worker/include/RTC/WebRtcTransport.hpp +3 -5
  410. package/worker/include/Settings.hpp +2 -3
  411. package/worker/include/Shared.hpp +31 -7
  412. package/worker/include/SharedInterface.hpp +37 -4
  413. package/worker/include/Utils/UnwrappedSequenceNumber.hpp +270 -0
  414. package/worker/include/Utils.hpp +4 -4
  415. package/worker/include/Worker.hpp +4 -4
  416. package/worker/include/common.hpp +12 -12
  417. package/worker/include/handles/BackoffTimerHandle.hpp +8 -9
  418. package/worker/include/handles/BackoffTimerHandleInterface.hpp +10 -3
  419. package/worker/include/handles/TimerHandle.hpp +0 -7
  420. package/worker/meson.build +33 -34
  421. package/worker/mocks/include/MockShared.hpp +56 -9
  422. package/worker/mocks/include/RTC/SCTP/association/MockAssociationListener.hpp +308 -0
  423. package/worker/mocks/include/RTC/SCTP/association/MockTransmissionControlBlockContext.hpp +183 -0
  424. package/worker/mocks/include/RTC/SCTP/tx/MockSendQueue.hpp +262 -0
  425. package/worker/mocks/include/handles/MockBackoffTimerHandle.hpp +153 -0
  426. package/worker/mocks/include/handles/MockTimerHandle.hpp +74 -0
  427. package/worker/mocks/include/mockTypes.hpp +15 -0
  428. package/worker/mocks/src/MockShared.cpp +30 -10
  429. package/worker/mocks/src/RTC/SCTP/association/MockTransmissionControlBlockContext.cpp +39 -0
  430. package/worker/mocks/src/handles/MockBackoffTimerHandle.cpp +127 -0
  431. package/worker/scripts/clang-scripts.mjs +1 -0
  432. package/worker/scripts/package-lock.json +6 -7
  433. package/worker/src/Channel/ChannelSocket.cpp +2 -3
  434. package/worker/src/DepLibUV.cpp +1 -1
  435. package/worker/src/DepLibUring.cpp +3 -1
  436. package/worker/src/Logger.cpp +1 -1
  437. package/worker/src/MediaSoupErrors.cpp +2 -0
  438. package/worker/src/RTC/ActiveSpeakerObserver.cpp +7 -7
  439. package/worker/src/RTC/Consumer.cpp +5 -6
  440. package/worker/src/RTC/DataConsumer.cpp +54 -64
  441. package/worker/src/RTC/DataProducer.cpp +13 -8
  442. package/worker/src/RTC/DirectTransport.cpp +7 -6
  443. package/worker/src/RTC/ICE/IceServer.cpp +2 -2
  444. package/worker/src/RTC/ICE/StunPacket.cpp +1 -1
  445. package/worker/src/RTC/NackGenerator.cpp +3 -3
  446. package/worker/src/RTC/PipeConsumer.cpp +1 -1
  447. package/worker/src/RTC/PipeTransport.cpp +6 -19
  448. package/worker/src/RTC/PlainTransport.cpp +6 -19
  449. package/worker/src/RTC/Producer.cpp +10 -11
  450. package/worker/src/RTC/RTCP/FeedbackPsAfb.cpp +1 -1
  451. package/worker/src/RTC/RTCP/FeedbackRtpTransport.cpp +1 -1
  452. package/worker/src/RTC/RTCP/XR.cpp +1 -1
  453. package/worker/src/RTC/RTP/Packet.cpp +3 -1
  454. package/worker/src/RTC/RTP/ProbationGenerator.cpp +4 -4
  455. package/worker/src/RTC/RTP/RetransmissionBuffer.cpp +1 -1
  456. package/worker/src/RTC/RTP/RtpStream.cpp +9 -9
  457. package/worker/src/RTC/RTP/RtpStreamRecv.cpp +11 -10
  458. package/worker/src/RTC/RTP/RtpStreamSend.cpp +7 -7
  459. package/worker/src/RTC/RTP/RtxStream.cpp +7 -7
  460. package/worker/src/RTC/RTP/SharedPacket.cpp +3 -3
  461. package/worker/src/RTC/RateCalculator.cpp +1 -2
  462. package/worker/src/RTC/Router.cpp +58 -35
  463. package/worker/src/RTC/RtpDictionaries/RtpCodecMimeType.cpp +1 -1
  464. package/worker/src/RTC/SCTP/LICENSE +44 -0
  465. package/worker/src/RTC/SCTP/association/Association.cpp +348 -322
  466. package/worker/src/RTC/SCTP/association/AssociationListenerDeferrer.cpp +46 -13
  467. package/worker/src/RTC/SCTP/association/HeartbeatHandler.cpp +26 -28
  468. package/worker/src/RTC/SCTP/association/PacketSender.cpp +8 -8
  469. package/worker/src/RTC/SCTP/association/StreamResetHandler.cpp +71 -56
  470. package/worker/src/RTC/SCTP/association/TransmissionControlBlock.cpp +176 -66
  471. package/worker/src/RTC/SCTP/packet/Chunk.cpp +5 -1
  472. package/worker/src/RTC/SCTP/packet/Packet.cpp +8 -1
  473. package/worker/src/RTC/SCTP/packet/chunks/DataChunk.cpp +17 -0
  474. package/worker/src/RTC/SCTP/packet/chunks/ForwardTsnChunk.cpp +4 -4
  475. package/worker/src/RTC/SCTP/packet/chunks/IDataChunk.cpp +25 -0
  476. package/worker/src/RTC/SCTP/packet/chunks/IForwardTsnChunk.cpp +10 -7
  477. package/worker/src/RTC/SCTP/packet/chunks/SackChunk.cpp +21 -4
  478. package/worker/src/RTC/SCTP/packet/chunks/ShutdownCompleteChunk.cpp +1 -1
  479. package/worker/src/RTC/SCTP/packet/errorCauses/NoUserDataErrorCause.cpp +1 -1
  480. package/worker/src/RTC/SCTP/packet/errorCauses/ProtocolViolationErrorCause.cpp +2 -2
  481. package/worker/src/RTC/SCTP/packet/errorCauses/UserInitiatedAbortErrorCause.cpp +1 -1
  482. package/worker/src/RTC/SCTP/public/Message.cpp +8 -0
  483. package/worker/src/RTC/SCTP/public/SctpOptions.cpp +90 -0
  484. package/worker/src/RTC/SCTP/rx/DataTracker.cpp +471 -0
  485. package/worker/src/RTC/SCTP/rx/InterleavedReassemblyStreams.cpp +327 -0
  486. package/worker/src/RTC/SCTP/rx/ReassemblyQueue.cpp +288 -0
  487. package/worker/src/RTC/SCTP/rx/TraditionalReassemblyStreams.cpp +453 -0
  488. package/worker/src/RTC/SCTP/tx/OutstandingData.cpp +81 -74
  489. package/worker/src/RTC/SCTP/tx/RetransmissionQueue.cpp +85 -98
  490. package/worker/src/RTC/SCTP/tx/RetransmissionTimeout.cpp +1 -1
  491. package/worker/src/RTC/SCTP/tx/RoundRobinSendQueue.cpp +752 -0
  492. package/worker/src/RTC/SCTP/tx/StreamScheduler.cpp +257 -0
  493. package/worker/src/RTC/SenderBandwidthEstimator.cpp +7 -5
  494. package/worker/src/RTC/SimpleConsumer.cpp +3 -4
  495. package/worker/src/RTC/SimulcastConsumer.cpp +5 -6
  496. package/worker/src/RTC/SrtpSession.cpp +1 -1
  497. package/worker/src/RTC/SvcConsumer.cpp +5 -6
  498. package/worker/src/RTC/TcpConnection.cpp +1 -1
  499. package/worker/src/RTC/Transport.cpp +475 -551
  500. package/worker/src/RTC/TransportCongestionControlClient.cpp +5 -6
  501. package/worker/src/RTC/TransportCongestionControlServer.cpp +1 -2
  502. package/worker/src/RTC/WebRtcServer.cpp +1 -1
  503. package/worker/src/RTC/WebRtcTransport.cpp +5 -13
  504. package/worker/src/Settings.cpp +9 -28
  505. package/worker/src/Shared.cpp +3 -3
  506. package/worker/src/Utils/Crypto.cpp +1 -1
  507. package/worker/src/Utils/String.cpp +1 -1
  508. package/worker/src/Worker.cpp +10 -26
  509. package/worker/src/handles/BackoffTimerHandle.cpp +24 -6
  510. package/worker/src/handles/UdpSocketHandle.cpp +1 -1
  511. package/worker/src/lib.cpp +5 -17
  512. package/worker/subprojects/catch2.wrap +6 -6
  513. package/worker/test/include/RTC/ICE/iceCommon.hpp +7 -7
  514. package/worker/test/include/RTC/RTP/rtpCommon.hpp +6 -6
  515. package/worker/test/include/RTC/SCTP/sctpCommon.hpp +10 -10
  516. package/worker/test/include/catch2Macros.hpp +31 -0
  517. package/worker/test/src/RTC/ICE/TestStunPacket.cpp +3 -3
  518. package/worker/test/src/RTC/ICE/iceCommon.cpp +2 -2
  519. package/worker/test/src/RTC/RTP/Codecs/TestVP8.cpp +1 -1
  520. package/worker/test/src/RTC/RTP/Codecs/TestVP9.cpp +1 -1
  521. package/worker/test/src/RTC/RTP/TestPacket.cpp +3 -3
  522. package/worker/test/src/RTC/RTP/TestRtpStreamRecv.cpp +6 -6
  523. package/worker/test/src/RTC/RTP/TestRtpStreamSend.cpp +6 -2
  524. package/worker/test/src/RTC/RTP/TestSharedPacket.cpp +1 -1
  525. package/worker/test/src/RTC/RTP/rtpCommon.cpp +2 -2
  526. package/worker/test/src/RTC/SCTP/association/TestHeartbeatHandler.cpp +292 -0
  527. package/worker/test/src/RTC/SCTP/association/TestNegotiatedCapabilities.cpp +1 -1
  528. package/worker/test/src/RTC/SCTP/association/TestStateCookie.cpp +1 -1
  529. package/worker/test/src/RTC/SCTP/association/TestTransmissionControlBlock.cpp +99 -0
  530. package/worker/test/src/RTC/SCTP/packet/TestChunk.cpp +1 -1
  531. package/worker/test/src/RTC/SCTP/packet/TestPacket.cpp +1 -1
  532. package/worker/test/src/RTC/SCTP/packet/chunks/TestAbortAssociationChunk.cpp +1 -1
  533. package/worker/test/src/RTC/SCTP/packet/chunks/TestCookieAckChunk.cpp +1 -1
  534. package/worker/test/src/RTC/SCTP/packet/chunks/TestCookieEchoChunk.cpp +1 -1
  535. package/worker/test/src/RTC/SCTP/packet/chunks/TestDataChunk.cpp +77 -7
  536. package/worker/test/src/RTC/SCTP/packet/chunks/TestForwardTsnChunk.cpp +35 -26
  537. package/worker/test/src/RTC/SCTP/packet/chunks/TestHeartbeatAckChunk.cpp +1 -1
  538. package/worker/test/src/RTC/SCTP/packet/chunks/TestHeartbeatRequestChunk.cpp +1 -1
  539. package/worker/test/src/RTC/SCTP/packet/chunks/TestIDataChunk.cpp +77 -7
  540. package/worker/test/src/RTC/SCTP/packet/chunks/TestIForwardTsnChunk.cpp +59 -27
  541. package/worker/test/src/RTC/SCTP/packet/chunks/TestInitAckChunk.cpp +1 -1
  542. package/worker/test/src/RTC/SCTP/packet/chunks/TestInitChunk.cpp +1 -1
  543. package/worker/test/src/RTC/SCTP/packet/chunks/TestOperationErrorChunk.cpp +1 -1
  544. package/worker/test/src/RTC/SCTP/packet/chunks/TestReConfigChunk.cpp +1 -1
  545. package/worker/test/src/RTC/SCTP/packet/chunks/TestSackChunk.cpp +73 -35
  546. package/worker/test/src/RTC/SCTP/packet/chunks/TestShutdownAckChunk.cpp +1 -1
  547. package/worker/test/src/RTC/SCTP/packet/chunks/TestShutdownChunk.cpp +1 -1
  548. package/worker/test/src/RTC/SCTP/packet/chunks/TestShutdownCompleteChunk.cpp +1 -1
  549. package/worker/test/src/RTC/SCTP/packet/chunks/TestUnknownChunk.cpp +1 -1
  550. package/worker/test/src/RTC/SCTP/packet/errorCauses/TestCookieReceivedWhileShuttingDownErrorCause.cpp +1 -1
  551. package/worker/test/src/RTC/SCTP/packet/errorCauses/TestInvalidMandatoryParameterErrorCause.cpp +1 -1
  552. package/worker/test/src/RTC/SCTP/packet/errorCauses/TestInvalidStreamIdentifierErrorCause.cpp +1 -1
  553. package/worker/test/src/RTC/SCTP/packet/errorCauses/TestMissingMandatoryParameterErrorCause.cpp +1 -1
  554. package/worker/test/src/RTC/SCTP/packet/errorCauses/TestNoUserDataErrorCause.cpp +1 -1
  555. package/worker/test/src/RTC/SCTP/packet/errorCauses/TestOutOfResourceErrorCause.cpp +1 -1
  556. package/worker/test/src/RTC/SCTP/packet/errorCauses/TestProtocolViolationErrorCause.cpp +1 -1
  557. package/worker/test/src/RTC/SCTP/packet/errorCauses/TestRestartOfAnAssociationWithNewAddressesErrorCause.cpp +1 -1
  558. package/worker/test/src/RTC/SCTP/packet/errorCauses/TestStaleCookieErrorCause.cpp +1 -1
  559. package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUnknownErrorCause.cpp +1 -1
  560. package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUnrecognizedChunkTypeErrorCause.cpp +1 -1
  561. package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUnrecognizedParametersErrorCause.cpp +1 -1
  562. package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUnresolvableAddressErrorCause.cpp +1 -1
  563. package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUserInitiatedAbortErrorCause.cpp +1 -1
  564. package/worker/test/src/RTC/SCTP/packet/parameters/TestAddIncomingStreamsRequestParameter.cpp +1 -1
  565. package/worker/test/src/RTC/SCTP/packet/parameters/TestAddOutgoingStreamsRequestParameter.cpp +1 -1
  566. package/worker/test/src/RTC/SCTP/packet/parameters/TestCookiePreservativeParameter.cpp +1 -1
  567. package/worker/test/src/RTC/SCTP/packet/parameters/TestForwardTsnSupportedParameter.cpp +1 -1
  568. package/worker/test/src/RTC/SCTP/packet/parameters/TestHeartbeatInfoParameter.cpp +1 -1
  569. package/worker/test/src/RTC/SCTP/packet/parameters/TestIPv4AddressParameter.cpp +1 -1
  570. package/worker/test/src/RTC/SCTP/packet/parameters/TestIPv6AddressParameter.cpp +1 -1
  571. package/worker/test/src/RTC/SCTP/packet/parameters/TestIncomingSsnResetRequestParameter.cpp +1 -1
  572. package/worker/test/src/RTC/SCTP/packet/parameters/TestOutgoingSsnResetRequestParameter.cpp +1 -1
  573. package/worker/test/src/RTC/SCTP/packet/parameters/TestReconfigurationResponseParameter.cpp +1 -1
  574. package/worker/test/src/RTC/SCTP/packet/parameters/TestSsnTsnResetRequestParameter.cpp +1 -1
  575. package/worker/test/src/RTC/SCTP/packet/parameters/TestStateCookieParameter.cpp +1 -1
  576. package/worker/test/src/RTC/SCTP/packet/parameters/TestSupportedAddressTypesParameter.cpp +1 -1
  577. package/worker/test/src/RTC/SCTP/packet/parameters/TestSupportedExtensionsParameter.cpp +1 -1
  578. package/worker/test/src/RTC/SCTP/packet/parameters/TestUnknownParameter.cpp +1 -1
  579. package/worker/test/src/RTC/SCTP/packet/parameters/TestUnrecognizedParameterParameter.cpp +1 -1
  580. package/worker/test/src/RTC/SCTP/packet/parameters/TestZeroChecksumAcceptableParameter.cpp +1 -1
  581. package/worker/test/src/RTC/SCTP/rx/TestDataTracker.cpp +1117 -0
  582. package/worker/test/src/RTC/SCTP/rx/TestInterleavedReassemblyStreams.cpp +565 -0
  583. package/worker/test/src/RTC/SCTP/rx/TestReassemblyQueue.cpp +557 -0
  584. package/worker/test/src/RTC/SCTP/rx/TestTraditionalReassemblyStreams.cpp +555 -0
  585. package/worker/test/src/RTC/SCTP/sctpCommon.cpp +2 -2
  586. package/worker/test/src/RTC/SCTP/tx/TestOutstandingData.cpp +475 -423
  587. package/worker/test/src/RTC/SCTP/tx/TestRetransmissionErrorCounter.cpp +4 -0
  588. package/worker/test/src/RTC/SCTP/tx/TestRetransmissionQueue.cpp +2218 -0
  589. package/worker/test/src/RTC/SCTP/tx/TestRoundRobinSendQueue.cpp +1130 -0
  590. package/worker/test/src/RTC/SCTP/tx/TestStreamScheduler.cpp +721 -0
  591. package/worker/test/src/RTC/TestKeyFrameRequestManager.cpp +9 -27
  592. package/worker/test/src/RTC/TestNackGenerator.cpp +7 -8
  593. package/worker/test/src/RTC/TestRateCalculator.cpp +6 -7
  594. package/worker/test/src/RTC/TestSimpleConsumer.cpp +7 -3
  595. package/worker/test/src/RTC/TestTransportCongestionControlServer.cpp +8 -3
  596. package/worker/test/src/{RTC/SCTP/common → Utils}/TestUnwrappedSequenceNumber.cpp +2 -2
  597. package/worker/test/src/testHelpers.cpp +1 -1
  598. package/worker/test/src/tests.cpp +0 -12
  599. package/node/lib/fbs/consumer/degrade-request.d.ts +0 -30
  600. package/node/lib/fbs/consumer/degrade-request.d.ts.map +0 -1
  601. package/node/lib/fbs/consumer/degrade-request.js +0 -91
  602. package/node/lib/fbs/consumer/enable-delay-and-loss-request.d.ts +0 -24
  603. package/node/lib/fbs/consumer/enable-delay-and-loss-request.d.ts.map +0 -1
  604. package/node/lib/fbs/consumer/enable-delay-and-loss-request.js +0 -69
  605. package/node/lib/fbs/producer/degrade-request.d.ts +0 -30
  606. package/node/lib/fbs/producer/degrade-request.d.ts.map +0 -1
  607. package/node/lib/fbs/producer/degrade-request.js +0 -91
  608. package/node/lib/fbs/worker/close-notification.d.ts +0 -18
  609. package/node/lib/fbs/worker/close-notification.d.ts.map +0 -1
  610. package/node/lib/fbs/worker/close-notification.js +0 -45
  611. package/node/lib/fbs/worker/close-request.d.ts +0 -18
  612. package/node/lib/fbs/worker/close-request.d.ts.map +0 -1
  613. package/node/lib/fbs/worker/close-request.js +0 -45
  614. package/node/lib/fbs/worker/close-worker-notification.d.ts +0 -18
  615. package/node/lib/fbs/worker/close-worker-notification.d.ts.map +0 -1
  616. package/node/lib/fbs/worker/close-worker-notification.js +0 -45
  617. package/worker/include/DepUsrSCTP.hpp +0 -49
  618. package/worker/include/RTC/SCTP/TODO_SCTP.md +0 -55
  619. package/worker/include/RTC/SCTP/common/UnwrappedSequenceNumber.hpp +0 -274
  620. package/worker/include/RTC/SctpAssociation.hpp +0 -147
  621. package/worker/src/DepUsrSCTP.cpp +0 -283
  622. package/worker/src/RTC/SctpAssociation.cpp +0 -1175
  623. package/worker/subprojects/usrsctp.wrap +0 -8
@@ -1,12 +1,12 @@
1
1
  #define MS_CLASS "RTC::SCTP::RetransmissionQueue"
2
- // TODO: SCTP: Comment.
3
- #define MS_LOG_DEV_LEVEL 3
2
+ // #define MS_LOG_DEV_LEVEL 3
4
3
 
5
4
  #include "RTC/SCTP/tx/RetransmissionQueue.hpp"
6
5
  #include "Logger.hpp"
7
- #include "Utils.hpp"
8
6
  #include "RTC/SCTP/packet/chunks/DataChunk.hpp"
9
7
  #include "RTC/SCTP/packet/chunks/IDataChunk.hpp"
8
+ #include "RTC/SCTP/public/SctpTypes.hpp"
9
+ #include "Utils.hpp"
10
10
  #include <cmath> // std::min()
11
11
  #include <numeric> // std::accumulate()
12
12
  #include <string>
@@ -19,11 +19,10 @@ namespace RTC
19
19
 
20
20
  RetransmissionQueue::RetransmissionQueue(
21
21
  Listener* listener,
22
- AssociationListener& associationListener,
22
+ AssociationListenerInterface& associationListener,
23
23
  uint32_t localInitialTsn,
24
24
  uint32_t remoteAdvertisedReceiverWindowCredit,
25
- // TODO: SCTP: Implement
26
- // SendQueue& sendQueue,
25
+ SendQueueInterface& sendQueue,
27
26
  BackoffTimerHandleInterface* t3RtxTimer,
28
27
  const SctpOptions& sctpOptions,
29
28
  // NOTE: I don't like default argument values in dcsctp (true and false),
@@ -45,18 +44,14 @@ namespace RTC
45
44
  // "The initial value of ssthresh MAY be arbitrarily high (for example,
46
45
  // implementations MAY use the size of the receiver advertised window)."
47
46
  ssthresh(this->rwnd),
48
- // TODO: SCTP: Implement.
49
- // sendQueue(sendQueue),
47
+ sendQueue(sendQueue),
50
48
  outstandingData(
51
49
  this->dataChunkHeaderLength,
52
50
  this->tsnUnwrapper.Unwrap(localInitialTsn - 1),
53
- [/*this*/](uint16_t /*streamId*/, uint32_t /*outgoingMessageId*/)
54
- {
55
- // TODO: SCTP: Implement.
56
- // return this->sendQueue.Discard(streamId, outgoingMessageId);
57
51
 
58
- // TODO: SCTP: Remove when the above is uncommented.
59
- return false;
52
+ [this](uint16_t streamId, uint32_t outgoingMessageId)
53
+ {
54
+ return this->sendQueue.Discard(streamId, outgoingMessageId);
60
55
  })
61
56
  {
62
57
  MS_TRACE();
@@ -76,12 +71,13 @@ namespace RTC
76
71
  return false;
77
72
  }
78
73
 
79
- const UnwrappedTsn oldLastCumulativeTsnAck = this->outstandingData.GetLastCumulativeTsnAck();
80
- const size_t oldUnackedPacketBytes = this->outstandingData.GetUnackedPacketBytes();
74
+ const Types::UnwrappedTsn oldLastCumulativeTsnAck =
75
+ this->outstandingData.GetLastCumulativeTsnAck();
76
+ const size_t oldUnackedPacketBytes = this->outstandingData.GetUnackedPacketBytes();
81
77
  #if MS_LOG_DEV_LEVEL == 3
82
78
  const size_t oldRwnd = this->rwnd;
83
79
  #endif
84
- const UnwrappedTsn cumulativeTsnAck =
80
+ const Types::UnwrappedTsn cumulativeTsnAck =
85
81
  this->tsnUnwrapper.Unwrap(receivedSackChunk->GetCumulativeTsnAck());
86
82
 
87
83
  if (receivedSackChunk->GetValidatedGapAckBlocks().empty())
@@ -108,6 +104,7 @@ namespace RTC
108
104
  this->associationListener.OnAssociationLifecycleMessageEnd(lifecycleId);
109
105
  }
110
106
 
107
+ // Add lifecycle events for abandoned messages.
111
108
  for (const uint64_t lifecycleId : ackInfo.abandonedLifecycleIds)
112
109
  {
113
110
  MS_DEBUG_TAG(
@@ -124,7 +121,7 @@ namespace RTC
124
121
  UpdateReceiverWindow(receivedSackChunk->GetAdvertisedReceiverWindowCredit());
125
122
 
126
123
  MS_DEBUG_DEV(
127
- "Received SACK [cumulativeTsnAck:%" PRIu32 ", oldLastCumulativeTsnAck:%" PRIu32
124
+ "received SACK [cumulativeTsnAck:%" PRIu32 ", oldLastCumulativeTsnAck:%" PRIu32
128
125
  ", unackedPacketBytes:%zu, oldUnackedPacketBytes:%zu, rwnd:%zu, oldRwnd:%zu]",
129
126
  cumulativeTsnAck.Wrap(),
130
127
  oldLastCumulativeTsnAck.Wrap(),
@@ -215,7 +212,8 @@ namespace RTC
215
212
 
216
213
  MS_DEBUG_TAG(
217
214
  sctp,
218
- "T3-rtx timer has expired [cwnd:%zu, oldCwnd:%zu, ssthresh:%zu, unackedPacketBytes:%zu, oldUnackedPacketBytes:%zu]",
215
+ "%s timer has expired [cwnd:%zu, oldCwnd:%zu, ssthresh:%zu, unackedPacketBytes:%zu, oldUnackedPacketBytes:%zu]",
216
+ this->t3RtxTimer->GetLabel().c_str(),
219
217
  this->cwnd,
220
218
  oldCwnd,
221
219
  this->ssthresh,
@@ -235,21 +233,21 @@ namespace RTC
235
233
  "given maxLength %zu is not divisible by 4",
236
234
  maxLength);
237
235
 
238
- std::vector<std::pair<uint32_t /*tsn*/, UserData>> result;
236
+ std::vector<std::pair<uint32_t /*tsn*/, UserData>> toBeSent;
239
237
 
240
238
  #if MS_LOG_DEV_LEVEL == 3
241
239
  const size_t oldUnackedPacketBytes = GetUnackedPacketBytes();
242
240
  #endif
243
241
 
244
- result = this->outstandingData.GetChunksToBeFastRetransmitted(maxLength);
242
+ toBeSent = this->outstandingData.GetChunksToBeFastRetransmitted(maxLength);
245
243
 
246
- MS_ASSERT(!result.empty(), "result cannot be empty");
244
+ MS_ASSERT(!toBeSent.empty(), "toBeSent cannot be empty");
247
245
 
248
246
  // https://datatracker.ietf.org/doc/html/rfc9260#section-7.2.4
249
247
  //
250
248
  // "4) Restart the T3-rtx timer only if ... the endpoint is retransmitting
251
249
  // the first outstanding DATA chunk sent to that address."
252
- if (result[0].first == this->outstandingData.GetLastCumulativeTsnAck().GetNextValue().Wrap())
250
+ if (toBeSent[0].first == this->outstandingData.GetLastCumulativeTsnAck().GetNextValue().Wrap())
253
251
  {
254
252
  MS_DEBUG_DEV("first outstanding data to be retransmitted, restarting T3-rtx timer");
255
253
 
@@ -267,8 +265,8 @@ namespace RTC
267
265
  }
268
266
 
269
267
  const size_t bytesRetransmitted = std::accumulate(
270
- result.begin(),
271
- result.end(),
268
+ toBeSent.begin(),
269
+ toBeSent.end(),
272
270
  size_t{ 0 },
273
271
  [&](size_t r, const std::pair<uint32_t /*tsn*/, UserData>& data)
274
272
  {
@@ -281,7 +279,7 @@ namespace RTC
281
279
  #if MS_LOG_DEV_LEVEL == 3
282
280
  std::string tsnList;
283
281
 
284
- for (const auto& [tsn, data] : result)
282
+ for (const auto& [tsn, data] : toBeSent)
285
283
  {
286
284
  if (!tsnList.empty())
287
285
  {
@@ -292,18 +290,18 @@ namespace RTC
292
290
  }
293
291
 
294
292
  MS_DEBUG_DEV(
295
- "fast-retransmitting TSN %s - %zu bytes [unackedPacketBytes:%zu, oldUnackedPacketBytes:%zu]",
293
+ "fast-retransmitting TSN %s (%zu bytes) [unackedPacketBytes:%zu, oldUnackedPacketBytes:%zu]",
296
294
  tsnList.c_str(),
297
295
  bytesRetransmitted,
298
296
  GetUnackedPacketBytes(),
299
297
  oldUnackedPacketBytes);
300
298
  #endif
301
299
 
302
- return result;
300
+ return toBeSent;
303
301
  }
304
302
 
305
303
  std::vector<std::pair<uint32_t /*tsn*/, UserData>> RetransmissionQueue::GetChunksToSend(
306
- uint64_t /*nowMs*/, size_t maxLength)
304
+ uint64_t nowMs, size_t maxLength)
307
305
  {
308
306
  MS_TRACE();
309
307
 
@@ -312,7 +310,7 @@ namespace RTC
312
310
  "given maxLength %zu is not divisible by 4",
313
311
  maxLength);
314
312
 
315
- std::vector<std::pair<uint32_t /*tsn*/, UserData>> result;
313
+ std::vector<std::pair<uint32_t /*tsn*/, UserData>> toBeSent;
316
314
 
317
315
  const size_t oldUnackedPacketBytes = GetUnackedPacketBytes();
318
316
  #if MS_LOG_DEV_LEVEL == 3
@@ -340,11 +338,11 @@ namespace RTC
340
338
  size_t maxBytes = Utils::Byte::PadDownTo4Bytes(
341
339
  std::min({ maxPacketBytesAllowedByCwnd, maxPacketBytesAllowedByRwnd, maxLength }));
342
340
 
343
- result = this->outstandingData.GetChunksToBeRetransmitted(maxBytes);
341
+ toBeSent = this->outstandingData.GetChunksToBeRetransmitted(maxBytes);
344
342
 
345
343
  const size_t bytesRetransmitted = std::accumulate(
346
- result.begin(),
347
- result.end(),
344
+ toBeSent.begin(),
345
+ toBeSent.end(),
348
346
  size_t{ 0 },
349
347
  [&](size_t r, const std::pair<uint32_t /*tsn*/, UserData>& data)
350
348
  {
@@ -353,7 +351,7 @@ namespace RTC
353
351
 
354
352
  maxBytes -= bytesRetransmitted;
355
353
 
356
- if (!result.empty())
354
+ if (!toBeSent.empty())
357
355
  {
358
356
  ++this->rtxPacketsCount;
359
357
  this->rtxBytesCount += bytesRetransmitted;
@@ -366,43 +364,41 @@ namespace RTC
366
364
  "computed maxBytes %zu during the loop is not divisible by 4",
367
365
  maxBytes);
368
366
 
369
- // TODO: SCTP: Implement and uncomment.
367
+ std::optional<SendQueueInterface::DataToSend> dataToSend =
368
+ this->sendQueue.Produce(nowMs, maxBytes - this->dataChunkHeaderLength);
370
369
 
371
- // std::optional<SendQueue::DataToSend> chunkOpt =
372
- // this->sendQueue.Produce(nowMs, maxBytes - this->dataChunkHeaderLength);
373
-
374
- // if (!chunkOpt.has_value())
375
- // {
376
- // break;
377
- // }
370
+ if (!dataToSend.has_value())
371
+ {
372
+ break;
373
+ }
378
374
 
379
- // const size_t chunkSize = GetSerializedChunkSize(chunkOpt->data);
375
+ const size_t chunkSize = GetSerializedChunkLength(dataToSend->data);
380
376
 
381
- // maxBytes -= chunkSize;
377
+ maxBytes -= chunkSize;
382
378
 
383
- // this->rwnd -= chunkOpt->data.size();
379
+ this->rwnd -= dataToSend->data.GetPayloadLength();
384
380
 
385
- // const std::optional<UnwrappedTsn> tsn = this->outstandingData.Insert(
386
- // chunkOpt->messageId,
387
- // chunkOpt->data,
388
- // nowMs,
389
- // this->supportsPartialReliability ? chunkOpt->maxRetransmissions
390
- // : OutstandingData::MaxRetransmitsNoLimit,
391
- // this->supportsPartialReliability ? chunkOpt->expiresAtMs
392
- // : OutstandingData::ExpiresAtMsInfinite,
393
- // chunkOpt->lifecycleId);
381
+ const std::optional<Types::UnwrappedTsn> tsn = this->outstandingData.Insert(
382
+ dataToSend->outgoingMessageId,
383
+ dataToSend->data,
384
+ nowMs,
385
+ this->supportsPartialReliability ? dataToSend->maxRetransmissions
386
+ : Types::MaxRetransmitsNoLimit,
387
+ this->supportsPartialReliability ? dataToSend->expiresAtMs : Types::ExpiresAtMsInfinite,
388
+ dataToSend->lifecycleId);
394
389
 
395
- // if (tsn.has_value())
396
- // {
397
- // if (chunkOpt->lifecycleId != 0)
398
- // {
399
- // MS_ASSERT(chunkOpt->data.IsEnd(), "data.IsEnd() should return true");
390
+ if (tsn.has_value())
391
+ {
392
+ if (dataToSend->lifecycleId.has_value())
393
+ {
394
+ MS_ASSERT(dataToSend->data.IsEnd(), "data.IsEnd() should return true");
400
395
 
401
- // this->associationListener.OnAssociationLifecycleMessageFullySent(chunkOpt->lifecycleId);
402
- // }
396
+ this->associationListener.OnAssociationLifecycleMessageFullySent(
397
+ dataToSend->lifecycleId.value());
398
+ }
403
399
 
404
- // result.emplace_back(tsn->Wrap(), std::move(chunkOpt->data));
405
- // }
400
+ toBeSent.emplace_back(tsn->Wrap(), std::move(dataToSend->data));
401
+ }
406
402
  }
407
403
 
408
404
  // https://tools.ietf.org/html/rfc9260#section-6.3.2
@@ -410,7 +406,7 @@ namespace RTC
410
406
  // "Every time a DATA chunk is sent to any address (including a
411
407
  // retransmission), if the T3-rtx timer of that address is not running,
412
408
  // start it running so that it will expire after the RTO of that address."
413
- if (!result.empty())
409
+ if (!toBeSent.empty())
414
410
  {
415
411
  if (!this->t3RtxTimer->IsRunning())
416
412
  {
@@ -420,7 +416,7 @@ namespace RTC
420
416
  #if MS_LOG_DEV_LEVEL == 3
421
417
  std::string tsnList;
422
418
 
423
- for (const auto& [tsn, data] : result)
419
+ for (const auto& [tsn, data] : toBeSent)
424
420
  {
425
421
  if (!tsnList.empty())
426
422
  {
@@ -431,8 +427,8 @@ namespace RTC
431
427
  }
432
428
 
433
429
  const size_t bytesRetransmitted = std::accumulate(
434
- result.begin(),
435
- result.end(),
430
+ toBeSent.begin(),
431
+ toBeSent.end(),
436
432
  size_t{ 0 },
437
433
  [&](size_t r, const std::pair<uint32_t, UserData>& d)
438
434
  {
@@ -440,7 +436,7 @@ namespace RTC
440
436
  });
441
437
 
442
438
  MS_DEBUG_DEV(
443
- "sending TSN %s - %zu bytes [unackedPacketBytes:%zu, oldUnackedPacketBytes:%zu, cwnd:%zu, rwnd:%zu, oldRwnd:%zu]",
439
+ "sending TSN %s (%zu bytes) [unackedPacketBytes:%zu, oldUnackedPacketBytes:%zu, cwnd:%zu, rwnd:%zu, oldRwnd:%zu]",
444
440
  tsnList.c_str(),
445
441
  bytesRetransmitted,
446
442
  GetUnackedPacketBytes(),
@@ -451,7 +447,7 @@ namespace RTC
451
447
  #endif
452
448
  }
453
449
 
454
- return result;
450
+ return toBeSent;
455
451
  }
456
452
 
457
453
  bool RetransmissionQueue::ShouldSendForwardTsn(uint64_t nowMs)
@@ -468,29 +464,25 @@ namespace RTC
468
464
  return this->outstandingData.ShouldSendForwardTsn();
469
465
  }
470
466
 
471
- void RetransmissionQueue::PrepareResetStream(uint16_t /*streamId*/)
467
+ void RetransmissionQueue::PrepareResetStream(uint16_t streamId)
472
468
  {
473
469
  MS_TRACE();
474
470
 
475
471
  // TODO: As per TODO comment in same method in dcsctp:
476
472
  //
477
- // "These calls are now only affecting the send queue. The packet buffer
473
+ // These calls are now only affecting the send queue. The packet buffer
478
474
  // can also change behavior - for example draining the chunk producer and
479
475
  // eagerly assign TSNs so that an "Outgoing SSN Reset Request" can be sent
480
- // quickly, with a known `sender_last_assigned_tsn`.
481
- // TODO: SCTP: Implement it.
482
- // this->sendQueue.PrepareResetStream(streamId);
476
+ // quickly, with a known sender last assigned TSN.
477
+
478
+ this->sendQueue.PrepareResetStream(streamId);
483
479
  }
484
480
 
485
481
  bool RetransmissionQueue::HasStreamsReadyToBeReset() const
486
482
  {
487
483
  MS_TRACE();
488
484
 
489
- // TODO: SCTP: Implement it.
490
- // return this->sendQueue.HasStreamsReadyToBeReset();
491
-
492
- // TODO: SCTP: Remove.
493
- return false;
485
+ return this->sendQueue.HasStreamsReadyToBeReset();
494
486
  }
495
487
 
496
488
  std::vector<uint16_t /*streamId*/> RetransmissionQueue::BeginResetStreams()
@@ -499,27 +491,21 @@ namespace RTC
499
491
 
500
492
  this->outstandingData.BeginResetStreams();
501
493
 
502
- // TODO: SCTP: Implement it.
503
- // this->sendQueue.GetStreamsReadyToBeReset();
504
-
505
- // TODO: SCTP: Remove.
506
- return {};
494
+ return this->sendQueue.GetStreamsReadyToBeReset();
507
495
  }
508
496
 
509
497
  void RetransmissionQueue::CommitResetStreams()
510
498
  {
511
499
  MS_TRACE();
512
500
 
513
- // TODO: SCTP: Implement it.
514
- // this->sendQueue.CommitResetStreams();
501
+ this->sendQueue.CommitResetStreams();
515
502
  }
516
503
 
517
504
  void RetransmissionQueue::RollbackResetStreams()
518
505
  {
519
506
  MS_TRACE();
520
507
 
521
- // TODO: SCTP: Implement it.
522
- // this->sendQueue.RollbackResetStreams();
508
+ this->sendQueue.RollbackResetStreams();
523
509
  }
524
510
 
525
511
  size_t RetransmissionQueue::GetSerializedChunkLength(const UserData& data) const
@@ -543,7 +529,7 @@ namespace RTC
543
529
  // @remarks
544
530
  // - Important not to drop SACKs with identical TSN to that previously
545
531
  // received, as the gap-ack-blocks or dup tsn fields may have changed.
546
- const UnwrappedTsn cumulativeTsnAck =
532
+ const Types::UnwrappedTsn cumulativeTsnAck =
547
533
  this->tsnUnwrapper.PeekUnwrap(sackChunk->GetCumulativeTsnAck());
548
534
 
549
535
  if (cumulativeTsnAck < this->outstandingData.GetLastCumulativeTsnAck())
@@ -562,15 +548,15 @@ namespace RTC
562
548
  }
563
549
 
564
550
  return std::ranges::all_of(
565
- sackChunk->GetValidatedGapAckBlocks(),
551
+ sackChunk->GetGapAckBlocks(),
566
552
  [&](const auto& block)
567
553
  {
568
- return UnwrappedTsn::AddTo(cumulativeTsnAck, block.end) <=
554
+ return Types::UnwrappedTsn::AddTo(cumulativeTsnAck, block.end) <=
569
555
  this->outstandingData.GetHighestOutstandingTsn();
570
556
  });
571
557
  }
572
558
 
573
- void RetransmissionQueue::UpdateRttMs(uint64_t nowMs, UnwrappedTsn cumulativeTsnAck)
559
+ void RetransmissionQueue::UpdateRttMs(uint64_t nowMs, Types::UnwrappedTsn cumulativeTsnAck)
574
560
  {
575
561
  MS_TRACE();
576
562
 
@@ -582,7 +568,7 @@ namespace RTC
582
568
  //
583
569
  // TODO: As per TODO comment in same method in dcsctp:
584
570
  //
585
- // "Consider occasionally sending DATA chunks with I-bit set and use only
571
+ // Consider occasionally sending DATA chunks with I-bit set and use only
586
572
  // those packets for measurement.
587
573
 
588
574
  const auto rttMs = this->outstandingData.MeasureRtt(nowMs, cumulativeTsnAck);
@@ -593,7 +579,7 @@ namespace RTC
593
579
  }
594
580
  }
595
581
 
596
- void RetransmissionQueue::MayExitFastRecovery(UnwrappedTsn cumulativeTsnAck)
582
+ void RetransmissionQueue::MayExitFastRecovery(Types::UnwrappedTsn cumulativeTsnAck)
597
583
  {
598
584
  MS_TRACE();
599
585
 
@@ -611,11 +597,12 @@ namespace RTC
611
597
  }
612
598
  }
613
599
 
614
- void RetransmissionQueue::StopT3RtxTimerOnIncreasedCumulativeTsnAck(UnwrappedTsn /*cumulativeTsnAck*/)
600
+ void RetransmissionQueue::StopT3RtxTimerOnIncreasedCumulativeTsnAck(
601
+ Types::UnwrappedTsn /*cumulativeTsnAck*/)
615
602
  {
616
603
  MS_TRACE();
617
604
 
618
- // TODO: This method is NOT defined in dcsctp!
605
+ // TODO: This method is NOT implemented in dcsctp!
619
606
  //
620
607
  // @see https://issues.webrtc.org/issues/505751236
621
608
  }
@@ -699,7 +686,7 @@ namespace RTC
699
686
  }
700
687
  }
701
688
 
702
- void RetransmissionQueue::HandlePacketLoss(UnwrappedTsn /*highestTsnAcked*/)
689
+ void RetransmissionQueue::HandlePacketLoss(Types::UnwrappedTsn /*highestTsnAcked*/)
703
690
  {
704
691
  MS_TRACE();
705
692
 
@@ -774,7 +761,7 @@ namespace RTC
774
761
  // Note: Already stopped in `StopT3RtxTimerOnIncreasedCumulativeTsnAck()`."
775
762
  //
776
763
  // TODO: As said above, `StopT3RtxTimerOnIncreasedCumulativeTsnAck()`
777
- // is NOT defined in dcsctp and of course it's never called from
764
+ // is NOT implemented in dcsctp and of course it's never called from
778
765
  // anywhere.
779
766
  }
780
767
  else
@@ -65,7 +65,7 @@ namespace RTC
65
65
  // would take a very long time to recover.
66
66
  if (rttMs == 0 || rttMs > this->maxRttMs)
67
67
  {
68
- MS_WARN_TAG(sctp, "skipping given unrealistic rttMs value %" PRIu64, rttMs);
68
+ MS_WARN_DEV(sctp, "skipping given unrealistic rttMs value %" PRIu64, rttMs);
69
69
 
70
70
  return;
71
71
  }