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.
- package/node/lib/ActiveSpeakerObserver.js +34 -1
- package/node/lib/AudioLevelObserver.js +35 -2
- package/node/lib/Channel.d.ts.map +1 -1
- package/node/lib/Channel.js +37 -5
- package/node/lib/Consumer.js +39 -6
- package/node/lib/DataConsumer.d.ts.map +1 -1
- package/node/lib/DataConsumer.js +39 -5
- package/node/lib/DataConsumerTypes.d.ts +1 -0
- package/node/lib/DataConsumerTypes.d.ts.map +1 -1
- package/node/lib/DataProducer.js +37 -4
- package/node/lib/DirectTransport.js +37 -4
- package/node/lib/DirectTransportTypes.d.ts +7 -2
- package/node/lib/DirectTransportTypes.d.ts.map +1 -1
- package/node/lib/Logger.js +4 -1
- package/node/lib/PipeTransport.d.ts +3 -1
- package/node/lib/PipeTransport.d.ts.map +1 -1
- package/node/lib/PipeTransport.js +56 -5
- package/node/lib/PipeTransportTypes.d.ts +28 -8
- package/node/lib/PipeTransportTypes.d.ts.map +1 -1
- package/node/lib/PlainTransport.d.ts +3 -1
- package/node/lib/PlainTransport.d.ts.map +1 -1
- package/node/lib/PlainTransport.js +54 -3
- package/node/lib/PlainTransportTypes.d.ts +27 -7
- package/node/lib/PlainTransportTypes.d.ts.map +1 -1
- package/node/lib/Producer.js +40 -7
- package/node/lib/Router.d.ts +5 -5
- package/node/lib/Router.d.ts.map +1 -1
- package/node/lib/Router.js +81 -36
- package/node/lib/RouterTypes.d.ts +25 -3
- package/node/lib/RouterTypes.d.ts.map +1 -1
- package/node/lib/RtpObserver.js +36 -3
- package/node/lib/Transport.d.ts +3 -1
- package/node/lib/Transport.d.ts.map +1 -1
- package/node/lib/Transport.js +74 -22
- package/node/lib/TransportTypes.d.ts +2 -1
- package/node/lib/TransportTypes.d.ts.map +1 -1
- package/node/lib/WebRtcServer.js +36 -3
- package/node/lib/WebRtcTransport.d.ts +3 -1
- package/node/lib/WebRtcTransport.d.ts.map +1 -1
- package/node/lib/WebRtcTransport.js +55 -4
- package/node/lib/WebRtcTransportTypes.d.ts +27 -7
- package/node/lib/WebRtcTransportTypes.d.ts.map +1 -1
- package/node/lib/Worker.d.ts +1 -1
- package/node/lib/Worker.d.ts.map +1 -1
- package/node/lib/Worker.js +63 -31
- package/node/lib/WorkerTypes.d.ts +0 -4
- package/node/lib/WorkerTypes.d.ts.map +1 -1
- package/node/lib/enhancedEvents.d.ts +2 -2
- package/node/lib/enhancedEvents.d.ts.map +1 -1
- package/node/lib/enhancedEvents.js +0 -2
- package/node/lib/fbs/active-speaker-observer/active-speaker-observer-options.js +34 -1
- package/node/lib/fbs/active-speaker-observer/dominant-speaker-notification.js +34 -1
- package/node/lib/fbs/audio-level-observer/audio-level-observer-options.js +34 -1
- package/node/lib/fbs/audio-level-observer/volume.js +34 -1
- package/node/lib/fbs/audio-level-observer/volumes-notification.js +34 -1
- package/node/lib/fbs/common/string-string-array.js +34 -1
- package/node/lib/fbs/common/string-string.js +34 -1
- package/node/lib/fbs/common/string-uint8.js +34 -1
- package/node/lib/fbs/common/uint16-string.js +34 -1
- package/node/lib/fbs/common/uint32-string.js +34 -1
- package/node/lib/fbs/consumer/base-consumer-dump.js +34 -1
- package/node/lib/fbs/consumer/consumer-dump.js +34 -1
- package/node/lib/fbs/consumer/consumer-layers.js +34 -1
- package/node/lib/fbs/consumer/consumer-score.js +34 -1
- package/node/lib/fbs/consumer/dump-response.js +34 -1
- package/node/lib/fbs/consumer/enable-trace-event-request.js +34 -1
- package/node/lib/fbs/consumer/fir-trace-info.js +34 -1
- package/node/lib/fbs/consumer/get-stats-response.js +34 -1
- package/node/lib/fbs/consumer/key-frame-trace-info.js +34 -1
- package/node/lib/fbs/consumer/layers-change-notification.js +34 -1
- package/node/lib/fbs/consumer/pli-trace-info.js +34 -1
- package/node/lib/fbs/consumer/rtp-notification.js +34 -1
- package/node/lib/fbs/consumer/rtp-trace-info.js +34 -1
- package/node/lib/fbs/consumer/score-notification.js +34 -1
- package/node/lib/fbs/consumer/set-preferred-layers-request.js +34 -1
- package/node/lib/fbs/consumer/set-preferred-layers-response.js +34 -1
- package/node/lib/fbs/consumer/set-priority-request.js +34 -1
- package/node/lib/fbs/consumer/set-priority-response.js +34 -1
- package/node/lib/fbs/consumer/trace-notification.js +34 -1
- package/node/lib/fbs/data-consumer/add-subchannel-request.js +34 -1
- package/node/lib/fbs/data-consumer/add-subchannel-response.js +34 -1
- package/node/lib/fbs/data-consumer/buffered-amount-low-notification.js +34 -1
- package/node/lib/fbs/data-consumer/dump-response.d.ts +5 -2
- package/node/lib/fbs/data-consumer/dump-response.d.ts.map +1 -1
- package/node/lib/fbs/data-consumer/dump-response.js +60 -16
- package/node/lib/fbs/data-consumer/get-buffered-amount-response.js +34 -1
- package/node/lib/fbs/data-consumer/get-stats-response.js +34 -1
- package/node/lib/fbs/data-consumer/message-notification.js +34 -1
- package/node/lib/fbs/data-consumer/remove-subchannel-request.js +34 -1
- package/node/lib/fbs/data-consumer/remove-subchannel-response.js +34 -1
- package/node/lib/fbs/data-consumer/send-request.js +34 -1
- package/node/lib/fbs/data-consumer/set-buffered-amount-low-threshold-request.js +34 -1
- package/node/lib/fbs/data-consumer/set-subchannels-request.js +34 -1
- package/node/lib/fbs/data-consumer/set-subchannels-response.js +34 -1
- package/node/lib/fbs/data-consumer/type.d.ts +5 -0
- package/node/lib/fbs/data-consumer/type.d.ts.map +1 -0
- package/node/lib/fbs/data-consumer/type.js +10 -0
- package/node/lib/fbs/data-consumer.d.ts +1 -0
- package/node/lib/fbs/data-consumer.d.ts.map +1 -1
- package/node/lib/fbs/data-consumer.js +3 -1
- package/node/lib/fbs/data-producer/dump-response.js +34 -1
- package/node/lib/fbs/data-producer/get-stats-response.js +34 -1
- package/node/lib/fbs/data-producer/send-notification.js +34 -1
- package/node/lib/fbs/direct-transport/direct-transport-options.js +34 -1
- package/node/lib/fbs/direct-transport/dump-response.js +34 -1
- package/node/lib/fbs/direct-transport/get-stats-response.js +34 -1
- package/node/lib/fbs/direct-transport/rtcp-notification.js +34 -1
- package/node/lib/fbs/lib-uring/dump.js +34 -1
- package/node/lib/fbs/log/log.js +34 -1
- package/node/lib/fbs/message/message.js +34 -1
- package/node/lib/fbs/notification/body.d.ts +24 -22
- package/node/lib/fbs/notification/body.d.ts.map +1 -1
- package/node/lib/fbs/notification/body.js +24 -20
- package/node/lib/fbs/notification/event.d.ts +27 -26
- package/node/lib/fbs/notification/event.d.ts.map +1 -1
- package/node/lib/fbs/notification/event.js +27 -26
- package/node/lib/fbs/notification/notification.d.ts +3 -2
- package/node/lib/fbs/notification/notification.d.ts.map +1 -1
- package/node/lib/fbs/notification/notification.js +34 -1
- package/node/lib/fbs/pipe-transport/connect-request.js +34 -1
- package/node/lib/fbs/pipe-transport/connect-response.js +34 -1
- package/node/lib/fbs/pipe-transport/dump-response.js +34 -1
- package/node/lib/fbs/pipe-transport/get-stats-response.js +34 -1
- package/node/lib/fbs/pipe-transport/pipe-transport-options.js +34 -1
- package/node/lib/fbs/plain-transport/connect-request.js +34 -1
- package/node/lib/fbs/plain-transport/connect-response.js +34 -1
- package/node/lib/fbs/plain-transport/dump-response.js +34 -1
- package/node/lib/fbs/plain-transport/get-stats-response.js +34 -1
- package/node/lib/fbs/plain-transport/plain-transport-options.js +34 -1
- package/node/lib/fbs/plain-transport/rtcp-tuple-notification.js +34 -1
- package/node/lib/fbs/plain-transport/tuple-notification.js +34 -1
- package/node/lib/fbs/producer/dump-response.js +34 -1
- package/node/lib/fbs/producer/enable-trace-event-request.js +34 -1
- package/node/lib/fbs/producer/fir-trace-info.js +34 -1
- package/node/lib/fbs/producer/get-stats-response.js +34 -1
- package/node/lib/fbs/producer/key-frame-trace-info.js +34 -1
- package/node/lib/fbs/producer/pli-trace-info.js +34 -1
- package/node/lib/fbs/producer/rtp-trace-info.js +34 -1
- package/node/lib/fbs/producer/score-notification.js +34 -1
- package/node/lib/fbs/producer/score.js +34 -1
- package/node/lib/fbs/producer/send-notification.js +34 -1
- package/node/lib/fbs/producer/sr-trace-info.js +34 -1
- package/node/lib/fbs/producer/trace-notification.js +34 -1
- package/node/lib/fbs/producer/video-orientation-change-notification.js +34 -1
- package/node/lib/fbs/request/request.js +34 -1
- package/node/lib/fbs/response/response.js +34 -1
- package/node/lib/fbs/router/close-rtp-observer-request.js +34 -1
- package/node/lib/fbs/router/close-transport-request.js +34 -1
- package/node/lib/fbs/router/create-active-speaker-observer-request.js +34 -1
- package/node/lib/fbs/router/create-audio-level-observer-request.js +34 -1
- package/node/lib/fbs/router/create-direct-transport-request.js +34 -1
- package/node/lib/fbs/router/create-pipe-transport-request.js +34 -1
- package/node/lib/fbs/router/create-plain-transport-request.js +34 -1
- package/node/lib/fbs/router/create-web-rtc-transport-request.js +34 -1
- package/node/lib/fbs/router/dump-response.js +34 -1
- package/node/lib/fbs/rtp-observer/add-producer-request.js +34 -1
- package/node/lib/fbs/rtp-observer/remove-producer-request.js +34 -1
- package/node/lib/fbs/rtp-packet/dump.js +34 -1
- package/node/lib/fbs/rtp-parameters/boolean.js +34 -1
- package/node/lib/fbs/rtp-parameters/codec-mapping.js +34 -1
- package/node/lib/fbs/rtp-parameters/double.js +34 -1
- package/node/lib/fbs/rtp-parameters/encoding-mapping.js +34 -1
- package/node/lib/fbs/rtp-parameters/integer32-array.js +34 -1
- package/node/lib/fbs/rtp-parameters/integer32.js +34 -1
- package/node/lib/fbs/rtp-parameters/parameter.js +34 -1
- package/node/lib/fbs/rtp-parameters/rtcp-feedback.js +34 -1
- package/node/lib/fbs/rtp-parameters/rtcp-parameters.js +34 -1
- package/node/lib/fbs/rtp-parameters/rtp-codec-parameters.js +34 -1
- package/node/lib/fbs/rtp-parameters/rtp-encoding-parameters.js +34 -1
- package/node/lib/fbs/rtp-parameters/rtp-header-extension-parameters.js +34 -1
- package/node/lib/fbs/rtp-parameters/rtp-mapping.js +34 -1
- package/node/lib/fbs/rtp-parameters/rtp-parameters.js +34 -1
- package/node/lib/fbs/rtp-parameters/rtx.js +34 -1
- package/node/lib/fbs/rtp-parameters/string.js +34 -1
- package/node/lib/fbs/rtp-stream/base-stats.js +34 -1
- package/node/lib/fbs/rtp-stream/bitrate-by-layer.js +34 -1
- package/node/lib/fbs/rtp-stream/dump.js +34 -1
- package/node/lib/fbs/rtp-stream/params.js +34 -1
- package/node/lib/fbs/rtp-stream/recv-stats.js +34 -1
- package/node/lib/fbs/rtp-stream/send-stats.js +34 -1
- package/node/lib/fbs/rtp-stream/stats.js +34 -1
- package/node/lib/fbs/rtx-stream/params.js +34 -1
- package/node/lib/fbs/rtx-stream/rtx-dump.js +34 -1
- package/node/lib/fbs/sctp-association/sctp-negotiated-capabilities.d.ts +24 -0
- package/node/lib/fbs/sctp-association/sctp-negotiated-capabilities.d.ts.map +1 -0
- package/node/lib/fbs/sctp-association/sctp-negotiated-capabilities.js +102 -0
- package/node/lib/fbs/sctp-association.d.ts +1 -0
- package/node/lib/fbs/sctp-association.d.ts.map +1 -1
- package/node/lib/fbs/sctp-association.js +4 -1
- package/node/lib/fbs/sctp-parameters/num-sctp-streams.js +34 -1
- package/node/lib/fbs/sctp-parameters/sctp-parameters.d.ts +14 -14
- package/node/lib/fbs/sctp-parameters/sctp-parameters.d.ts.map +1 -1
- package/node/lib/fbs/sctp-parameters/sctp-parameters.js +73 -40
- package/node/lib/fbs/sctp-parameters/sctp-stream-parameters.js +34 -1
- package/node/lib/fbs/sctp-parameters.d.ts +0 -1
- package/node/lib/fbs/sctp-parameters.d.ts.map +1 -1
- package/node/lib/fbs/sctp-parameters.js +1 -4
- package/node/lib/fbs/srtp-parameters/srtp-parameters.js +34 -1
- package/node/lib/fbs/transport/bwe-trace-info.js +34 -1
- package/node/lib/fbs/transport/close-consumer-request.js +34 -1
- package/node/lib/fbs/transport/close-data-consumer-request.js +34 -1
- package/node/lib/fbs/transport/close-data-producer-request.js +34 -1
- package/node/lib/fbs/transport/close-producer-request.js +34 -1
- package/node/lib/fbs/transport/consume-data-request.d.ts +1 -1
- package/node/lib/fbs/transport/consume-data-request.js +35 -2
- package/node/lib/fbs/transport/consume-request.js +34 -1
- package/node/lib/fbs/transport/consume-response.js +34 -1
- package/node/lib/fbs/transport/dump.d.ts +7 -4
- package/node/lib/fbs/transport/dump.d.ts.map +1 -1
- package/node/lib/fbs/transport/dump.js +66 -22
- package/node/lib/fbs/transport/enable-trace-event-request.js +34 -1
- package/node/lib/fbs/transport/listen-info.js +34 -1
- package/node/lib/fbs/transport/options.d.ts +14 -14
- package/node/lib/fbs/transport/options.d.ts.map +1 -1
- package/node/lib/fbs/transport/options.js +92 -51
- package/node/lib/fbs/transport/port-range.js +34 -1
- package/node/lib/fbs/transport/produce-data-request.js +34 -1
- package/node/lib/fbs/transport/produce-request.js +34 -1
- package/node/lib/fbs/transport/produce-response.js +34 -1
- package/node/lib/fbs/transport/recv-rtp-header-extensions.js +34 -1
- package/node/lib/fbs/transport/restart-ice-response.js +34 -1
- package/node/lib/fbs/transport/rtp-listener.js +34 -1
- package/node/lib/fbs/transport/sctp-listener.js +34 -1
- package/node/lib/fbs/transport/sctp-negotiated-capabilities-notification.d.ts +22 -0
- package/node/lib/fbs/transport/sctp-negotiated-capabilities-notification.d.ts.map +1 -0
- package/node/lib/fbs/transport/sctp-negotiated-capabilities-notification.js +93 -0
- package/node/lib/fbs/transport/sctp-state-change-notification.js +34 -1
- package/node/lib/fbs/transport/send-rtcp-notification.js +34 -1
- package/node/lib/fbs/transport/set-max-incoming-bitrate-request.js +34 -1
- package/node/lib/fbs/transport/set-max-outgoing-bitrate-request.js +34 -1
- package/node/lib/fbs/transport/set-min-outgoing-bitrate-request.js +34 -1
- package/node/lib/fbs/transport/socket-flags.js +34 -1
- package/node/lib/fbs/transport/stats.js +34 -1
- package/node/lib/fbs/transport/trace-notification.js +34 -1
- package/node/lib/fbs/transport/tuple.js +34 -1
- package/node/lib/fbs/transport.d.ts +1 -0
- package/node/lib/fbs/transport.d.ts.map +1 -1
- package/node/lib/fbs/transport.js +5 -2
- package/node/lib/fbs/web-rtc-server/dump-response.js +34 -1
- package/node/lib/fbs/web-rtc-server/ice-user-name-fragment.js +34 -1
- package/node/lib/fbs/web-rtc-server/ip-port.js +34 -1
- package/node/lib/fbs/web-rtc-server/tuple-hash.js +34 -1
- package/node/lib/fbs/web-rtc-transport/connect-request.js +34 -1
- package/node/lib/fbs/web-rtc-transport/connect-response.js +34 -1
- package/node/lib/fbs/web-rtc-transport/dtls-parameters.js +34 -1
- package/node/lib/fbs/web-rtc-transport/dtls-state-change-notification.js +34 -1
- package/node/lib/fbs/web-rtc-transport/dump-response.js +34 -1
- package/node/lib/fbs/web-rtc-transport/fingerprint.js +34 -1
- package/node/lib/fbs/web-rtc-transport/get-stats-response.js +34 -1
- package/node/lib/fbs/web-rtc-transport/ice-candidate.js +34 -1
- package/node/lib/fbs/web-rtc-transport/ice-parameters.js +34 -1
- package/node/lib/fbs/web-rtc-transport/ice-selected-tuple-change-notification.js +34 -1
- package/node/lib/fbs/web-rtc-transport/ice-state-change-notification.js +34 -1
- package/node/lib/fbs/web-rtc-transport/listen-individual.js +34 -1
- package/node/lib/fbs/web-rtc-transport/listen-server.js +34 -1
- package/node/lib/fbs/web-rtc-transport/web-rtc-transport-options.js +34 -1
- package/node/lib/fbs/worker/channel-message-handlers.js +34 -1
- package/node/lib/fbs/worker/close-router-request.js +34 -1
- package/node/lib/fbs/worker/close-web-rtc-server-request.js +34 -1
- package/node/lib/fbs/worker/create-router-request.js +34 -1
- package/node/lib/fbs/worker/create-web-rtc-server-request.js +34 -1
- package/node/lib/fbs/worker/dump-response.js +34 -1
- package/node/lib/fbs/worker/resource-usage-response.js +34 -1
- package/node/lib/fbs/worker/update-settings-request.js +34 -1
- package/node/lib/index.d.ts +1 -1
- package/node/lib/index.d.ts.map +1 -1
- package/node/lib/index.js +37 -5
- package/node/lib/ortc.js +36 -3
- package/node/lib/rtpParametersFbsUtils.js +34 -1
- package/node/lib/rtpStreamStatsFbsUtils.js +35 -2
- package/node/lib/sctpParametersFbsUtils.d.ts +2 -2
- package/node/lib/sctpParametersFbsUtils.d.ts.map +1 -1
- package/node/lib/sctpParametersFbsUtils.js +44 -7
- package/node/lib/sctpParametersTypes.d.ts +10 -46
- package/node/lib/sctpParametersTypes.d.ts.map +1 -1
- package/node/lib/srtpParametersFbsUtils.js +34 -1
- package/node/lib/test/test-ActiveSpeakerObserver.js +35 -2
- package/node/lib/test/test-AudioLevelObserver.js +35 -2
- package/node/lib/test/test-Consumer.js +37 -4
- package/node/lib/test/test-DataConsumer.js +35 -2
- package/node/lib/test/test-DataProducer.js +35 -2
- package/node/lib/test/test-DirectTransport.js +36 -8
- package/node/lib/test/test-PipeTransport.js +35 -2
- package/node/lib/test/test-PlainTransport.js +45 -12
- package/node/lib/test/test-Producer.js +37 -4
- package/node/lib/test/test-Router.js +35 -2
- package/node/lib/test/test-WebRtcServer.js +34 -1
- package/node/lib/test/test-WebRtcTransport.js +51 -22
- package/node/lib/test/test-Worker.js +37 -4
- package/node/lib/test/test-mediasoup.js +36 -3
- package/node/lib/test/test-multiopus.js +35 -2
- package/node/lib/test/test-ortc.js +34 -1
- package/node/lib/test/test-werift-sctp.js +39 -5
- package/npm-scripts.mjs +2 -2
- package/package.json +11 -11
- package/worker/deps/libwebrtc/LICENSE +5 -0
- package/worker/deps/libwebrtc/README.md +3 -3
- package/worker/deps/libwebrtc/libwebrtc/mediasoup_helpers.h +13 -10
- package/worker/fbs/dataConsumer.fbs +7 -2
- package/worker/fbs/dataProducer.fbs +1 -0
- package/worker/fbs/notification.fbs +2 -0
- package/worker/fbs/sctpAssociation.fbs +4 -0
- package/worker/fbs/sctpParameters.fbs +5 -12
- package/worker/fbs/transport.fbs +12 -8
- package/worker/fuzzer/src/RTC/FuzzerDtlsTransport.cpp +5 -1
- package/worker/fuzzer/src/RTC/FuzzerRateCalculator.cpp +2 -2
- package/worker/fuzzer/src/RTC/FuzzerSeqManager.cpp +1 -1
- package/worker/fuzzer/src/RTC/FuzzerTrendCalculator.cpp +5 -5
- package/worker/fuzzer/src/RTC/ICE/FuzzerStunPacket.cpp +9 -6
- package/worker/fuzzer/src/RTC/RTP/FuzzerRetransmissionBuffer.cpp +1 -1
- package/worker/fuzzer/src/RTC/RTP/FuzzerRtpStreamSend.cpp +6 -2
- package/worker/fuzzer/src/RTC/SCTP/association/FuzzerStateCookie.cpp +1 -1
- package/worker/fuzzer/src/RTC/SCTP/packet/FuzzerPacket.cpp +5 -2
- package/worker/fuzzer/src/fuzzer.cpp +3 -10
- package/worker/include/Channel/ChannelRequest.hpp +1 -1
- package/worker/include/DepLibUV.hpp +1 -1
- package/worker/include/DepLibUring.hpp +3 -3
- package/worker/include/Logger.hpp +4 -4
- package/worker/include/MediaSoupErrors.hpp +1 -1
- package/worker/include/RTC/ActiveSpeakerObserver.hpp +6 -4
- package/worker/include/RTC/AudioLevelObserver.hpp +2 -2
- package/worker/include/RTC/Consumer.hpp +1 -1
- package/worker/include/RTC/DataConsumer.hpp +11 -15
- package/worker/include/RTC/DataProducer.hpp +4 -7
- package/worker/include/RTC/DirectTransport.hpp +3 -5
- package/worker/include/RTC/DtlsTransport.hpp +7 -7
- package/worker/include/RTC/ICE/IceServer.hpp +2 -2
- package/worker/include/RTC/ICE/StunPacket.hpp +1 -1
- package/worker/include/RTC/KeyFrameRequestManager.hpp +1 -1
- package/worker/include/RTC/NackGenerator.hpp +3 -2
- package/worker/include/RTC/PipeTransport.hpp +3 -5
- package/worker/include/RTC/PlainTransport.hpp +3 -5
- package/worker/include/RTC/PortManager.hpp +1 -1
- package/worker/include/RTC/Producer.hpp +1 -1
- package/worker/include/RTC/RTCP/FeedbackPs.hpp +1 -1
- package/worker/include/RTC/RTCP/FeedbackRtp.hpp +1 -1
- package/worker/include/RTC/RTCP/FeedbackRtpNack.hpp +1 -1
- package/worker/include/RTC/RTCP/ReceiverReport.hpp +1 -1
- package/worker/include/RTC/RTP/Packet.hpp +2 -2
- package/worker/include/RTC/RTP/RtpStream.hpp +11 -12
- package/worker/include/RTC/RTP/RtpStreamRecv.hpp +3 -2
- package/worker/include/RTC/RTP/RtxStream.hpp +3 -1
- package/worker/include/RTC/RTP/SharedPacket.hpp +1 -1
- package/worker/include/RTC/RateCalculator.hpp +5 -2
- package/worker/include/RTC/Router.hpp +5 -6
- package/worker/include/RTC/RtpObserver.hpp +1 -1
- package/worker/include/RTC/SCTP/association/Association.hpp +46 -15
- package/worker/include/RTC/SCTP/association/AssociationListenerDeferrer.hpp +14 -6
- package/worker/include/RTC/SCTP/association/HeartbeatHandler.hpp +12 -11
- package/worker/include/RTC/SCTP/association/PacketSender.hpp +3 -3
- package/worker/include/RTC/SCTP/association/StateCookie.hpp +1 -1
- package/worker/include/RTC/SCTP/association/StreamResetHandler.hpp +26 -26
- package/worker/include/RTC/SCTP/association/TransmissionControlBlock.hpp +58 -48
- package/worker/include/RTC/SCTP/association/{TCBContext.hpp → TransmissionControlBlockContextInterface.hpp} +11 -6
- package/worker/include/RTC/SCTP/packet/Chunk.hpp +3 -3
- package/worker/include/RTC/SCTP/packet/TLV.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/UserData.hpp +39 -31
- package/worker/include/RTC/SCTP/packet/chunks/AnyDataChunk.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/chunks/AnyForwardTsnChunk.hpp +9 -9
- package/worker/include/RTC/SCTP/packet/chunks/AnyInitChunk.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/chunks/DataChunk.hpp +4 -2
- package/worker/include/RTC/SCTP/packet/chunks/ForwardTsnChunk.hpp +3 -3
- package/worker/include/RTC/SCTP/packet/chunks/IDataChunk.hpp +4 -2
- package/worker/include/RTC/SCTP/packet/chunks/IForwardTsnChunk.hpp +3 -3
- package/worker/include/RTC/SCTP/packet/chunks/InitAckChunk.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/chunks/InitChunk.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/chunks/SackChunk.hpp +10 -3
- package/worker/include/RTC/SCTP/packet/chunks/ShutdownChunk.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/errorCauses/InvalidStreamIdentifierErrorCause.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/errorCauses/MissingMandatoryParameterErrorCause.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/errorCauses/NoUserDataErrorCause.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/errorCauses/StaleCookieErrorCause.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/parameters/AddIncomingStreamsRequestParameter.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/parameters/AddOutgoingStreamsRequestParameter.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/parameters/CookiePreservativeParameter.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/parameters/IncomingSsnResetRequestParameter.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/parameters/OutgoingSsnResetRequestParameter.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/parameters/ReconfigurationResponseParameter.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/parameters/SsnTsnResetRequestParameter.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/parameters/SupportedAddressTypesParameter.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/parameters/SupportedExtensionsParameter.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/parameters/ZeroChecksumAcceptableParameter.hpp +1 -1
- package/worker/include/RTC/SCTP/public/AssociationInterface.hpp +22 -2
- package/worker/include/RTC/SCTP/public/{AssociationListener.hpp → AssociationListenerInterface.hpp} +5 -5
- package/worker/include/RTC/SCTP/public/Message.hpp +26 -10
- package/worker/include/RTC/SCTP/public/SctpOptions.hpp +29 -21
- package/worker/include/RTC/SCTP/public/SctpTypes.hpp +21 -0
- package/worker/include/RTC/SCTP/rx/DataTracker.hpp +277 -0
- package/worker/include/RTC/SCTP/rx/InterleavedReassemblyStreams.hpp +116 -0
- package/worker/include/RTC/SCTP/rx/ReassemblyQueue.hpp +202 -0
- package/worker/include/RTC/SCTP/rx/ReassemblyStreamsInterface.hpp +83 -0
- package/worker/include/RTC/SCTP/rx/TraditionalReassemblyStreams.hpp +183 -0
- package/worker/include/RTC/SCTP/tx/OutstandingData.hpp +48 -57
- package/worker/include/RTC/SCTP/tx/RetransmissionErrorCounter.hpp +3 -3
- package/worker/include/RTC/SCTP/tx/RetransmissionQueue.hpp +36 -43
- package/worker/include/RTC/SCTP/tx/RetransmissionTimeout.hpp +6 -6
- package/worker/include/RTC/SCTP/tx/RoundRobinSendQueue.hpp +356 -0
- package/worker/include/RTC/SCTP/tx/SendQueueInterface.hpp +180 -0
- package/worker/include/RTC/SCTP/tx/StreamScheduler.hpp +235 -0
- package/worker/include/RTC/SenderBandwidthEstimator.hpp +5 -1
- package/worker/include/RTC/Serializable.hpp +3 -3
- package/worker/include/RTC/TcpServer.hpp +2 -2
- package/worker/include/RTC/Transport.hpp +59 -80
- package/worker/include/RTC/TransportCongestionControlClient.hpp +2 -2
- package/worker/include/RTC/TransportCongestionControlServer.hpp +2 -2
- package/worker/include/RTC/TransportTuple.hpp +1 -1
- package/worker/include/RTC/UdpSocket.hpp +1 -1
- package/worker/include/RTC/WebRtcServer.hpp +1 -1
- package/worker/include/RTC/WebRtcTransport.hpp +3 -5
- package/worker/include/Settings.hpp +2 -3
- package/worker/include/Shared.hpp +31 -7
- package/worker/include/SharedInterface.hpp +37 -4
- package/worker/include/Utils/UnwrappedSequenceNumber.hpp +270 -0
- package/worker/include/Utils.hpp +4 -4
- package/worker/include/Worker.hpp +4 -4
- package/worker/include/common.hpp +12 -12
- package/worker/include/handles/BackoffTimerHandle.hpp +8 -9
- package/worker/include/handles/BackoffTimerHandleInterface.hpp +10 -3
- package/worker/include/handles/TimerHandle.hpp +0 -7
- package/worker/meson.build +33 -34
- package/worker/mocks/include/MockShared.hpp +56 -9
- package/worker/mocks/include/RTC/SCTP/association/MockAssociationListener.hpp +308 -0
- package/worker/mocks/include/RTC/SCTP/association/MockTransmissionControlBlockContext.hpp +183 -0
- package/worker/mocks/include/RTC/SCTP/tx/MockSendQueue.hpp +262 -0
- package/worker/mocks/include/handles/MockBackoffTimerHandle.hpp +153 -0
- package/worker/mocks/include/handles/MockTimerHandle.hpp +74 -0
- package/worker/mocks/include/mockTypes.hpp +15 -0
- package/worker/mocks/src/MockShared.cpp +30 -10
- package/worker/mocks/src/RTC/SCTP/association/MockTransmissionControlBlockContext.cpp +39 -0
- package/worker/mocks/src/handles/MockBackoffTimerHandle.cpp +127 -0
- package/worker/scripts/clang-scripts.mjs +1 -0
- package/worker/scripts/package-lock.json +6 -7
- package/worker/src/Channel/ChannelSocket.cpp +2 -3
- package/worker/src/DepLibUV.cpp +1 -1
- package/worker/src/DepLibUring.cpp +3 -1
- package/worker/src/Logger.cpp +1 -1
- package/worker/src/MediaSoupErrors.cpp +2 -0
- package/worker/src/RTC/ActiveSpeakerObserver.cpp +7 -7
- package/worker/src/RTC/Consumer.cpp +5 -6
- package/worker/src/RTC/DataConsumer.cpp +54 -64
- package/worker/src/RTC/DataProducer.cpp +13 -8
- package/worker/src/RTC/DirectTransport.cpp +7 -6
- package/worker/src/RTC/ICE/IceServer.cpp +2 -2
- package/worker/src/RTC/ICE/StunPacket.cpp +1 -1
- package/worker/src/RTC/NackGenerator.cpp +3 -3
- package/worker/src/RTC/PipeConsumer.cpp +1 -1
- package/worker/src/RTC/PipeTransport.cpp +6 -19
- package/worker/src/RTC/PlainTransport.cpp +6 -19
- package/worker/src/RTC/Producer.cpp +10 -11
- package/worker/src/RTC/RTCP/FeedbackPsAfb.cpp +1 -1
- package/worker/src/RTC/RTCP/FeedbackRtpTransport.cpp +1 -1
- package/worker/src/RTC/RTCP/XR.cpp +1 -1
- package/worker/src/RTC/RTP/Packet.cpp +3 -1
- package/worker/src/RTC/RTP/ProbationGenerator.cpp +4 -4
- package/worker/src/RTC/RTP/RetransmissionBuffer.cpp +1 -1
- package/worker/src/RTC/RTP/RtpStream.cpp +9 -9
- package/worker/src/RTC/RTP/RtpStreamRecv.cpp +11 -10
- package/worker/src/RTC/RTP/RtpStreamSend.cpp +7 -7
- package/worker/src/RTC/RTP/RtxStream.cpp +7 -7
- package/worker/src/RTC/RTP/SharedPacket.cpp +3 -3
- package/worker/src/RTC/RateCalculator.cpp +1 -2
- package/worker/src/RTC/Router.cpp +58 -35
- package/worker/src/RTC/RtpDictionaries/RtpCodecMimeType.cpp +1 -1
- package/worker/src/RTC/SCTP/LICENSE +44 -0
- package/worker/src/RTC/SCTP/association/Association.cpp +348 -322
- package/worker/src/RTC/SCTP/association/AssociationListenerDeferrer.cpp +46 -13
- package/worker/src/RTC/SCTP/association/HeartbeatHandler.cpp +26 -28
- package/worker/src/RTC/SCTP/association/PacketSender.cpp +8 -8
- package/worker/src/RTC/SCTP/association/StreamResetHandler.cpp +71 -56
- package/worker/src/RTC/SCTP/association/TransmissionControlBlock.cpp +176 -66
- package/worker/src/RTC/SCTP/packet/Chunk.cpp +5 -1
- package/worker/src/RTC/SCTP/packet/Packet.cpp +8 -1
- package/worker/src/RTC/SCTP/packet/chunks/DataChunk.cpp +17 -0
- package/worker/src/RTC/SCTP/packet/chunks/ForwardTsnChunk.cpp +4 -4
- package/worker/src/RTC/SCTP/packet/chunks/IDataChunk.cpp +25 -0
- package/worker/src/RTC/SCTP/packet/chunks/IForwardTsnChunk.cpp +10 -7
- package/worker/src/RTC/SCTP/packet/chunks/SackChunk.cpp +21 -4
- package/worker/src/RTC/SCTP/packet/chunks/ShutdownCompleteChunk.cpp +1 -1
- package/worker/src/RTC/SCTP/packet/errorCauses/NoUserDataErrorCause.cpp +1 -1
- package/worker/src/RTC/SCTP/packet/errorCauses/ProtocolViolationErrorCause.cpp +2 -2
- package/worker/src/RTC/SCTP/packet/errorCauses/UserInitiatedAbortErrorCause.cpp +1 -1
- package/worker/src/RTC/SCTP/public/Message.cpp +8 -0
- package/worker/src/RTC/SCTP/public/SctpOptions.cpp +90 -0
- package/worker/src/RTC/SCTP/rx/DataTracker.cpp +471 -0
- package/worker/src/RTC/SCTP/rx/InterleavedReassemblyStreams.cpp +327 -0
- package/worker/src/RTC/SCTP/rx/ReassemblyQueue.cpp +288 -0
- package/worker/src/RTC/SCTP/rx/TraditionalReassemblyStreams.cpp +453 -0
- package/worker/src/RTC/SCTP/tx/OutstandingData.cpp +81 -74
- package/worker/src/RTC/SCTP/tx/RetransmissionQueue.cpp +85 -98
- package/worker/src/RTC/SCTP/tx/RetransmissionTimeout.cpp +1 -1
- package/worker/src/RTC/SCTP/tx/RoundRobinSendQueue.cpp +752 -0
- package/worker/src/RTC/SCTP/tx/StreamScheduler.cpp +257 -0
- package/worker/src/RTC/SenderBandwidthEstimator.cpp +7 -5
- package/worker/src/RTC/SimpleConsumer.cpp +3 -4
- package/worker/src/RTC/SimulcastConsumer.cpp +5 -6
- package/worker/src/RTC/SrtpSession.cpp +1 -1
- package/worker/src/RTC/SvcConsumer.cpp +5 -6
- package/worker/src/RTC/TcpConnection.cpp +1 -1
- package/worker/src/RTC/Transport.cpp +475 -551
- package/worker/src/RTC/TransportCongestionControlClient.cpp +5 -6
- package/worker/src/RTC/TransportCongestionControlServer.cpp +1 -2
- package/worker/src/RTC/WebRtcServer.cpp +1 -1
- package/worker/src/RTC/WebRtcTransport.cpp +5 -13
- package/worker/src/Settings.cpp +9 -28
- package/worker/src/Shared.cpp +3 -3
- package/worker/src/Utils/Crypto.cpp +1 -1
- package/worker/src/Utils/String.cpp +1 -1
- package/worker/src/Worker.cpp +10 -26
- package/worker/src/handles/BackoffTimerHandle.cpp +24 -6
- package/worker/src/handles/UdpSocketHandle.cpp +1 -1
- package/worker/src/lib.cpp +5 -17
- package/worker/subprojects/catch2.wrap +6 -6
- package/worker/test/include/RTC/ICE/iceCommon.hpp +7 -7
- package/worker/test/include/RTC/RTP/rtpCommon.hpp +6 -6
- package/worker/test/include/RTC/SCTP/sctpCommon.hpp +10 -10
- package/worker/test/include/catch2Macros.hpp +31 -0
- package/worker/test/src/RTC/ICE/TestStunPacket.cpp +3 -3
- package/worker/test/src/RTC/ICE/iceCommon.cpp +2 -2
- package/worker/test/src/RTC/RTP/Codecs/TestVP8.cpp +1 -1
- package/worker/test/src/RTC/RTP/Codecs/TestVP9.cpp +1 -1
- package/worker/test/src/RTC/RTP/TestPacket.cpp +3 -3
- package/worker/test/src/RTC/RTP/TestRtpStreamRecv.cpp +6 -6
- package/worker/test/src/RTC/RTP/TestRtpStreamSend.cpp +6 -2
- package/worker/test/src/RTC/RTP/TestSharedPacket.cpp +1 -1
- package/worker/test/src/RTC/RTP/rtpCommon.cpp +2 -2
- package/worker/test/src/RTC/SCTP/association/TestHeartbeatHandler.cpp +292 -0
- package/worker/test/src/RTC/SCTP/association/TestNegotiatedCapabilities.cpp +1 -1
- package/worker/test/src/RTC/SCTP/association/TestStateCookie.cpp +1 -1
- package/worker/test/src/RTC/SCTP/association/TestTransmissionControlBlock.cpp +99 -0
- package/worker/test/src/RTC/SCTP/packet/TestChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/TestPacket.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestAbortAssociationChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestCookieAckChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestCookieEchoChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestDataChunk.cpp +77 -7
- package/worker/test/src/RTC/SCTP/packet/chunks/TestForwardTsnChunk.cpp +35 -26
- package/worker/test/src/RTC/SCTP/packet/chunks/TestHeartbeatAckChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestHeartbeatRequestChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestIDataChunk.cpp +77 -7
- package/worker/test/src/RTC/SCTP/packet/chunks/TestIForwardTsnChunk.cpp +59 -27
- package/worker/test/src/RTC/SCTP/packet/chunks/TestInitAckChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestInitChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestOperationErrorChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestReConfigChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestSackChunk.cpp +73 -35
- package/worker/test/src/RTC/SCTP/packet/chunks/TestShutdownAckChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestShutdownChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestShutdownCompleteChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestUnknownChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestCookieReceivedWhileShuttingDownErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestInvalidMandatoryParameterErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestInvalidStreamIdentifierErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestMissingMandatoryParameterErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestNoUserDataErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestOutOfResourceErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestProtocolViolationErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestRestartOfAnAssociationWithNewAddressesErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestStaleCookieErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUnknownErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUnrecognizedChunkTypeErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUnrecognizedParametersErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUnresolvableAddressErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestUserInitiatedAbortErrorCause.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestAddIncomingStreamsRequestParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestAddOutgoingStreamsRequestParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestCookiePreservativeParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestForwardTsnSupportedParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestHeartbeatInfoParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestIPv4AddressParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestIPv6AddressParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestIncomingSsnResetRequestParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestOutgoingSsnResetRequestParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestReconfigurationResponseParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestSsnTsnResetRequestParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestStateCookieParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestSupportedAddressTypesParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestSupportedExtensionsParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestUnknownParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestUnrecognizedParameterParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestZeroChecksumAcceptableParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/rx/TestDataTracker.cpp +1117 -0
- package/worker/test/src/RTC/SCTP/rx/TestInterleavedReassemblyStreams.cpp +565 -0
- package/worker/test/src/RTC/SCTP/rx/TestReassemblyQueue.cpp +557 -0
- package/worker/test/src/RTC/SCTP/rx/TestTraditionalReassemblyStreams.cpp +555 -0
- package/worker/test/src/RTC/SCTP/sctpCommon.cpp +2 -2
- package/worker/test/src/RTC/SCTP/tx/TestOutstandingData.cpp +475 -423
- package/worker/test/src/RTC/SCTP/tx/TestRetransmissionErrorCounter.cpp +4 -0
- package/worker/test/src/RTC/SCTP/tx/TestRetransmissionQueue.cpp +2218 -0
- package/worker/test/src/RTC/SCTP/tx/TestRoundRobinSendQueue.cpp +1130 -0
- package/worker/test/src/RTC/SCTP/tx/TestStreamScheduler.cpp +721 -0
- package/worker/test/src/RTC/TestKeyFrameRequestManager.cpp +9 -27
- package/worker/test/src/RTC/TestNackGenerator.cpp +7 -8
- package/worker/test/src/RTC/TestRateCalculator.cpp +6 -7
- package/worker/test/src/RTC/TestSimpleConsumer.cpp +7 -3
- package/worker/test/src/RTC/TestTransportCongestionControlServer.cpp +8 -3
- package/worker/test/src/{RTC/SCTP/common → Utils}/TestUnwrappedSequenceNumber.cpp +2 -2
- package/worker/test/src/testHelpers.cpp +1 -1
- package/worker/test/src/tests.cpp +0 -12
- package/node/lib/fbs/consumer/degrade-request.d.ts +0 -30
- package/node/lib/fbs/consumer/degrade-request.d.ts.map +0 -1
- package/node/lib/fbs/consumer/degrade-request.js +0 -91
- package/node/lib/fbs/consumer/enable-delay-and-loss-request.d.ts +0 -24
- package/node/lib/fbs/consumer/enable-delay-and-loss-request.d.ts.map +0 -1
- package/node/lib/fbs/consumer/enable-delay-and-loss-request.js +0 -69
- package/node/lib/fbs/producer/degrade-request.d.ts +0 -30
- package/node/lib/fbs/producer/degrade-request.d.ts.map +0 -1
- package/node/lib/fbs/producer/degrade-request.js +0 -91
- package/node/lib/fbs/worker/close-notification.d.ts +0 -18
- package/node/lib/fbs/worker/close-notification.d.ts.map +0 -1
- package/node/lib/fbs/worker/close-notification.js +0 -45
- package/node/lib/fbs/worker/close-request.d.ts +0 -18
- package/node/lib/fbs/worker/close-request.d.ts.map +0 -1
- package/node/lib/fbs/worker/close-request.js +0 -45
- package/node/lib/fbs/worker/close-worker-notification.d.ts +0 -18
- package/node/lib/fbs/worker/close-worker-notification.d.ts.map +0 -1
- package/node/lib/fbs/worker/close-worker-notification.js +0 -45
- package/worker/include/DepUsrSCTP.hpp +0 -49
- package/worker/include/RTC/SCTP/TODO_SCTP.md +0 -55
- package/worker/include/RTC/SCTP/common/UnwrappedSequenceNumber.hpp +0 -274
- package/worker/include/RTC/SctpAssociation.hpp +0 -147
- package/worker/src/DepUsrSCTP.cpp +0 -283
- package/worker/src/RTC/SctpAssociation.cpp +0 -1175
- package/worker/subprojects/usrsctp.wrap +0 -8
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#define MS_CLASS "RTC::SCTP::RetransmissionQueue"
|
|
2
|
-
//
|
|
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
|
-
|
|
22
|
+
AssociationListenerInterface& associationListener,
|
|
23
23
|
uint32_t localInitialTsn,
|
|
24
24
|
uint32_t remoteAdvertisedReceiverWindowCredit,
|
|
25
|
-
|
|
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
|
-
|
|
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
|
-
|
|
59
|
-
|
|
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 =
|
|
80
|
-
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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>>
|
|
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
|
-
|
|
242
|
+
toBeSent = this->outstandingData.GetChunksToBeFastRetransmitted(maxLength);
|
|
245
243
|
|
|
246
|
-
MS_ASSERT(!
|
|
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 (
|
|
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
|
-
|
|
271
|
-
|
|
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] :
|
|
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
|
|
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
|
|
300
|
+
return toBeSent;
|
|
303
301
|
}
|
|
304
302
|
|
|
305
303
|
std::vector<std::pair<uint32_t /*tsn*/, UserData>> RetransmissionQueue::GetChunksToSend(
|
|
306
|
-
uint64_t
|
|
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>>
|
|
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
|
-
|
|
341
|
+
toBeSent = this->outstandingData.GetChunksToBeRetransmitted(maxBytes);
|
|
344
342
|
|
|
345
343
|
const size_t bytesRetransmitted = std::accumulate(
|
|
346
|
-
|
|
347
|
-
|
|
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 (!
|
|
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
|
-
|
|
367
|
+
std::optional<SendQueueInterface::DataToSend> dataToSend =
|
|
368
|
+
this->sendQueue.Produce(nowMs, maxBytes - this->dataChunkHeaderLength);
|
|
370
369
|
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
// {
|
|
376
|
-
// break;
|
|
377
|
-
// }
|
|
370
|
+
if (!dataToSend.has_value())
|
|
371
|
+
{
|
|
372
|
+
break;
|
|
373
|
+
}
|
|
378
374
|
|
|
379
|
-
|
|
375
|
+
const size_t chunkSize = GetSerializedChunkLength(dataToSend->data);
|
|
380
376
|
|
|
381
|
-
|
|
377
|
+
maxBytes -= chunkSize;
|
|
382
378
|
|
|
383
|
-
|
|
379
|
+
this->rwnd -= dataToSend->data.GetPayloadLength();
|
|
384
380
|
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
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
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
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
|
-
|
|
402
|
-
|
|
396
|
+
this->associationListener.OnAssociationLifecycleMessageFullySent(
|
|
397
|
+
dataToSend->lifecycleId.value());
|
|
398
|
+
}
|
|
403
399
|
|
|
404
|
-
|
|
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 (!
|
|
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] :
|
|
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
|
-
|
|
435
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
//
|
|
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
|
|
481
|
-
|
|
482
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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->
|
|
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
|
-
//
|
|
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(
|
|
600
|
+
void RetransmissionQueue::StopT3RtxTimerOnIncreasedCumulativeTsnAck(
|
|
601
|
+
Types::UnwrappedTsn /*cumulativeTsnAck*/)
|
|
615
602
|
{
|
|
616
603
|
MS_TRACE();
|
|
617
604
|
|
|
618
|
-
// TODO: This method is NOT
|
|
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
|
|
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
|
-
|
|
68
|
+
MS_WARN_DEV(sctp, "skipping given unrealistic rttMs value %" PRIu64, rttMs);
|
|
69
69
|
|
|
70
70
|
return;
|
|
71
71
|
}
|