mediasoup 3.22.0 → 3.23.1
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/CHANGELOG.md +13 -0
- package/node/lib/PipeTransportTypes.d.ts +8 -0
- package/node/lib/PipeTransportTypes.d.ts.map +1 -1
- package/node/lib/PlainTransportTypes.d.ts +8 -0
- package/node/lib/PlainTransportTypes.d.ts.map +1 -1
- package/node/lib/Router.d.ts +4 -4
- package/node/lib/Router.d.ts.map +1 -1
- package/node/lib/Router.js +10 -7
- package/node/lib/RouterTypes.d.ts +8 -0
- package/node/lib/RouterTypes.d.ts.map +1 -1
- package/node/lib/WebRtcTransportTypes.d.ts +8 -0
- package/node/lib/WebRtcTransportTypes.d.ts.map +1 -1
- package/node/lib/fbs/transport/options.d.ts +5 -2
- package/node/lib/fbs/transport/options.d.ts.map +1 -1
- package/node/lib/fbs/transport/options.js +18 -7
- package/node/lib/test/test-DataConsumer.js +3 -0
- package/package.json +11 -11
- package/worker/fbs/transport.fbs +1 -0
- package/worker/fuzzer/src/RTC/RTP/FuzzerPacket.cpp +44 -0
- package/worker/include/Logger.hpp +3 -4
- package/worker/include/RTC/NackGenerator.hpp +0 -1
- package/worker/include/RTC/SCTP/public/SctpOptions.hpp +7 -0
- package/worker/include/RTC/SCTP/tx/RoundRobinSendQueue.hpp +2 -0
- package/worker/include/RTC/Transport.hpp +0 -5
- package/worker/scripts/package-lock.json +7 -7
- package/worker/src/RTC/ICE/StunPacket.cpp +6 -2
- package/worker/src/RTC/RTP/Packet.cpp +11 -0
- package/worker/src/RTC/SCTP/association/Association.cpp +1 -0
- package/worker/src/RTC/SCTP/association/StateCookie.cpp +5 -2
- package/worker/src/RTC/SCTP/packet/errorCauses/MissingMandatoryParameterErrorCause.cpp +4 -1
- package/worker/src/RTC/SCTP/tx/RoundRobinSendQueue.cpp +10 -2
- package/worker/src/RTC/SrtpSession.cpp +82 -25
- package/worker/src/RTC/Transport.cpp +7 -15
- package/worker/subprojects/libsrtp3.wrap +4 -4
- package/worker/tasks.py +1 -1
- package/worker/test/src/RTC/SCTP/association/TestAssociation.cpp +34 -0
- package/worker/test/src/RTC/SCTP/association/TestStreamResetHandler.cpp +1 -0
- package/worker/test/src/RTC/SCTP/packet/errorCauses/TestMissingMandatoryParameterErrorCause.cpp +24 -0
- package/worker/test/src/RTC/SCTP/tx/TestRoundRobinSendQueue.cpp +180 -39
|
@@ -14,7 +14,8 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
14
14
|
constexpr uint16_t StreamId{ 1 };
|
|
15
15
|
constexpr uint32_t Ppid{ 53 };
|
|
16
16
|
constexpr uint16_t DefaultPriority{ 10 };
|
|
17
|
-
constexpr size_t
|
|
17
|
+
constexpr size_t DefaultStreamBufferedAmountLowThreshold{ 0 };
|
|
18
|
+
constexpr size_t TotalBufferedAmountLowThreshold{ 500 };
|
|
18
19
|
constexpr size_t OneFragmentPacketLength{ 100 };
|
|
19
20
|
constexpr size_t TwoFragmentPacketLength{ 101 };
|
|
20
21
|
|
|
@@ -22,7 +23,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
22
23
|
{
|
|
23
24
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
24
25
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
25
|
-
associationListener,
|
|
26
|
+
associationListener,
|
|
27
|
+
Mtu,
|
|
28
|
+
DefaultPriority,
|
|
29
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
30
|
+
TotalBufferedAmountLowThreshold);
|
|
26
31
|
|
|
27
32
|
REQUIRE(q.IsEmpty());
|
|
28
33
|
REQUIRE(q.Produce(NowMs, OneFragmentPacketLength).has_value() == false);
|
|
@@ -32,7 +37,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
32
37
|
{
|
|
33
38
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
34
39
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
35
|
-
associationListener,
|
|
40
|
+
associationListener,
|
|
41
|
+
Mtu,
|
|
42
|
+
DefaultPriority,
|
|
43
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
44
|
+
TotalBufferedAmountLowThreshold);
|
|
36
45
|
|
|
37
46
|
q.AddMessage(NowMs, RTC::SCTP::Message(StreamId, Ppid, { 1, 2, 4, 5, 6 }));
|
|
38
47
|
|
|
@@ -49,7 +58,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
49
58
|
{
|
|
50
59
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
51
60
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
52
|
-
associationListener,
|
|
61
|
+
associationListener,
|
|
62
|
+
Mtu,
|
|
63
|
+
DefaultPriority,
|
|
64
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
65
|
+
TotalBufferedAmountLowThreshold);
|
|
53
66
|
|
|
54
67
|
const std::vector<uint8_t> payload(60);
|
|
55
68
|
|
|
@@ -80,7 +93,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
80
93
|
{
|
|
81
94
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
82
95
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
83
|
-
associationListener,
|
|
96
|
+
associationListener,
|
|
97
|
+
Mtu,
|
|
98
|
+
DefaultPriority,
|
|
99
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
100
|
+
TotalBufferedAmountLowThreshold);
|
|
84
101
|
|
|
85
102
|
const std::vector<uint8_t> payload(60);
|
|
86
103
|
|
|
@@ -108,7 +125,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
108
125
|
{
|
|
109
126
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
110
127
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
111
|
-
associationListener,
|
|
128
|
+
associationListener,
|
|
129
|
+
Mtu,
|
|
130
|
+
DefaultPriority,
|
|
131
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
132
|
+
TotalBufferedAmountLowThreshold);
|
|
112
133
|
|
|
113
134
|
const std::vector<uint8_t> payload(600);
|
|
114
135
|
|
|
@@ -157,7 +178,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
157
178
|
{
|
|
158
179
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
159
180
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
160
|
-
associationListener,
|
|
181
|
+
associationListener,
|
|
182
|
+
Mtu,
|
|
183
|
+
DefaultPriority,
|
|
184
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
185
|
+
TotalBufferedAmountLowThreshold);
|
|
161
186
|
|
|
162
187
|
const std::vector<uint8_t> payload(20);
|
|
163
188
|
|
|
@@ -184,7 +209,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
184
209
|
{
|
|
185
210
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
186
211
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
187
|
-
associationListener,
|
|
212
|
+
associationListener,
|
|
213
|
+
Mtu,
|
|
214
|
+
DefaultPriority,
|
|
215
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
216
|
+
TotalBufferedAmountLowThreshold);
|
|
188
217
|
|
|
189
218
|
const std::vector<uint8_t> payload(20);
|
|
190
219
|
|
|
@@ -235,7 +264,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
235
264
|
{
|
|
236
265
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
237
266
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
238
|
-
associationListener,
|
|
267
|
+
associationListener,
|
|
268
|
+
Mtu,
|
|
269
|
+
DefaultPriority,
|
|
270
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
271
|
+
TotalBufferedAmountLowThreshold);
|
|
239
272
|
|
|
240
273
|
const std::vector<uint8_t> payload(120);
|
|
241
274
|
|
|
@@ -273,7 +306,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
273
306
|
{
|
|
274
307
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
275
308
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
276
|
-
associationListener,
|
|
309
|
+
associationListener,
|
|
310
|
+
Mtu,
|
|
311
|
+
DefaultPriority,
|
|
312
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
313
|
+
TotalBufferedAmountLowThreshold);
|
|
277
314
|
|
|
278
315
|
q.AddMessage(NowMs, RTC::SCTP::Message(StreamId, Ppid, { 1, 2, 3 }));
|
|
279
316
|
q.AddMessage(NowMs, RTC::SCTP::Message(2, 54, { 1, 2, 3, 4, 5 }));
|
|
@@ -300,7 +337,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
300
337
|
{
|
|
301
338
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
302
339
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
303
|
-
associationListener,
|
|
340
|
+
associationListener,
|
|
341
|
+
Mtu,
|
|
342
|
+
DefaultPriority,
|
|
343
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
344
|
+
TotalBufferedAmountLowThreshold);
|
|
304
345
|
|
|
305
346
|
const std::vector<uint8_t> payload(120);
|
|
306
347
|
|
|
@@ -323,7 +364,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
323
364
|
{
|
|
324
365
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
325
366
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
326
|
-
associationListener,
|
|
367
|
+
associationListener,
|
|
368
|
+
Mtu,
|
|
369
|
+
DefaultPriority,
|
|
370
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
371
|
+
TotalBufferedAmountLowThreshold);
|
|
327
372
|
|
|
328
373
|
const std::vector<uint8_t> payload(50);
|
|
329
374
|
|
|
@@ -362,7 +407,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
362
407
|
{
|
|
363
408
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
364
409
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
365
|
-
associationListener,
|
|
410
|
+
associationListener,
|
|
411
|
+
Mtu,
|
|
412
|
+
DefaultPriority,
|
|
413
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
414
|
+
TotalBufferedAmountLowThreshold);
|
|
366
415
|
|
|
367
416
|
const size_t payloadLength = 100;
|
|
368
417
|
const size_t fragmentLength = 50;
|
|
@@ -397,7 +446,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
397
446
|
{
|
|
398
447
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
399
448
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
400
|
-
associationListener,
|
|
449
|
+
associationListener,
|
|
450
|
+
Mtu,
|
|
451
|
+
DefaultPriority,
|
|
452
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
453
|
+
TotalBufferedAmountLowThreshold);
|
|
401
454
|
|
|
402
455
|
const std::vector<uint8_t> payload(50);
|
|
403
456
|
|
|
@@ -437,7 +490,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
437
490
|
{
|
|
438
491
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
439
492
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
440
|
-
associationListener,
|
|
493
|
+
associationListener,
|
|
494
|
+
Mtu,
|
|
495
|
+
DefaultPriority,
|
|
496
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
497
|
+
TotalBufferedAmountLowThreshold);
|
|
441
498
|
|
|
442
499
|
const std::vector<uint8_t> payload(50);
|
|
443
500
|
|
|
@@ -479,7 +536,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
479
536
|
{
|
|
480
537
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
481
538
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
482
|
-
associationListener,
|
|
539
|
+
associationListener,
|
|
540
|
+
Mtu,
|
|
541
|
+
DefaultPriority,
|
|
542
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
543
|
+
TotalBufferedAmountLowThreshold);
|
|
483
544
|
|
|
484
545
|
const std::vector<uint8_t> payload(50);
|
|
485
546
|
|
|
@@ -527,7 +588,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
527
588
|
{
|
|
528
589
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
529
590
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
530
|
-
associationListener,
|
|
591
|
+
associationListener,
|
|
592
|
+
Mtu,
|
|
593
|
+
DefaultPriority,
|
|
594
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
595
|
+
TotalBufferedAmountLowThreshold);
|
|
531
596
|
|
|
532
597
|
const std::vector<uint8_t> payload(50);
|
|
533
598
|
|
|
@@ -565,7 +630,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
565
630
|
{
|
|
566
631
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
567
632
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
568
|
-
associationListener,
|
|
633
|
+
associationListener,
|
|
634
|
+
Mtu,
|
|
635
|
+
DefaultPriority,
|
|
636
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
637
|
+
TotalBufferedAmountLowThreshold);
|
|
569
638
|
|
|
570
639
|
const std::vector<uint8_t> payload(200);
|
|
571
640
|
|
|
@@ -597,7 +666,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
597
666
|
{
|
|
598
667
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
599
668
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
600
|
-
associationListener,
|
|
669
|
+
associationListener,
|
|
670
|
+
Mtu,
|
|
671
|
+
DefaultPriority,
|
|
672
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
673
|
+
TotalBufferedAmountLowThreshold);
|
|
601
674
|
|
|
602
675
|
const std::vector<uint8_t> payload(TwoFragmentPacketLength);
|
|
603
676
|
|
|
@@ -635,7 +708,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
635
708
|
{
|
|
636
709
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
637
710
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
638
|
-
associationListener,
|
|
711
|
+
associationListener,
|
|
712
|
+
Mtu,
|
|
713
|
+
DefaultPriority,
|
|
714
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
715
|
+
TotalBufferedAmountLowThreshold);
|
|
639
716
|
|
|
640
717
|
q.AddMessage(NowMs, RTC::SCTP::Message(1, Ppid, std::vector<uint8_t>(1)));
|
|
641
718
|
q.AddMessage(NowMs, RTC::SCTP::Message(1, Ppid, std::vector<uint8_t>(2)));
|
|
@@ -699,7 +776,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
699
776
|
{
|
|
700
777
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
701
778
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
702
|
-
associationListener,
|
|
779
|
+
associationListener,
|
|
780
|
+
Mtu,
|
|
781
|
+
DefaultPriority,
|
|
782
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
783
|
+
TotalBufferedAmountLowThreshold);
|
|
703
784
|
|
|
704
785
|
q.SetStreamBufferedAmountLowThreshold(1, 0);
|
|
705
786
|
|
|
@@ -710,7 +791,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
710
791
|
{
|
|
711
792
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
712
793
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
713
|
-
associationListener,
|
|
794
|
+
associationListener,
|
|
795
|
+
Mtu,
|
|
796
|
+
DefaultPriority,
|
|
797
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
798
|
+
TotalBufferedAmountLowThreshold);
|
|
714
799
|
|
|
715
800
|
q.AddMessage(NowMs, RTC::SCTP::Message(1, Ppid, std::vector<uint8_t>(1)));
|
|
716
801
|
|
|
@@ -731,7 +816,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
731
816
|
{
|
|
732
817
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
733
818
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
734
|
-
associationListener,
|
|
819
|
+
associationListener,
|
|
820
|
+
Mtu,
|
|
821
|
+
DefaultPriority,
|
|
822
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
823
|
+
TotalBufferedAmountLowThreshold);
|
|
735
824
|
|
|
736
825
|
q.AddMessage(NowMs, RTC::SCTP::Message(1, Ppid, std::vector<uint8_t>(1)));
|
|
737
826
|
|
|
@@ -761,7 +850,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
761
850
|
{
|
|
762
851
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
763
852
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
764
|
-
associationListener,
|
|
853
|
+
associationListener,
|
|
854
|
+
Mtu,
|
|
855
|
+
DefaultPriority,
|
|
856
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
857
|
+
TotalBufferedAmountLowThreshold);
|
|
765
858
|
|
|
766
859
|
q.SetStreamBufferedAmountLowThreshold(1, 1000);
|
|
767
860
|
|
|
@@ -797,7 +890,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
797
890
|
{
|
|
798
891
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
799
892
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
800
|
-
associationListener,
|
|
893
|
+
associationListener,
|
|
894
|
+
Mtu,
|
|
895
|
+
DefaultPriority,
|
|
896
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
897
|
+
TotalBufferedAmountLowThreshold);
|
|
801
898
|
|
|
802
899
|
q.SetStreamBufferedAmountLowThreshold(1, 700);
|
|
803
900
|
|
|
@@ -842,7 +939,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
842
939
|
{
|
|
843
940
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
844
941
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
845
|
-
associationListener,
|
|
942
|
+
associationListener,
|
|
943
|
+
Mtu,
|
|
944
|
+
DefaultPriority,
|
|
945
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
946
|
+
TotalBufferedAmountLowThreshold);
|
|
846
947
|
|
|
847
948
|
q.SetStreamBufferedAmountLowThreshold(1, 700);
|
|
848
949
|
|
|
@@ -876,7 +977,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
876
977
|
{
|
|
877
978
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
878
979
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
879
|
-
associationListener,
|
|
980
|
+
associationListener,
|
|
981
|
+
Mtu,
|
|
982
|
+
DefaultPriority,
|
|
983
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
984
|
+
TotalBufferedAmountLowThreshold);
|
|
880
985
|
|
|
881
986
|
q.AddMessage(NowMs, RTC::SCTP::Message(StreamId, Ppid, std::vector<uint8_t>(100)));
|
|
882
987
|
|
|
@@ -913,9 +1018,13 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
913
1018
|
{
|
|
914
1019
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
915
1020
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
916
|
-
associationListener,
|
|
1021
|
+
associationListener,
|
|
1022
|
+
Mtu,
|
|
1023
|
+
DefaultPriority,
|
|
1024
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
1025
|
+
TotalBufferedAmountLowThreshold);
|
|
917
1026
|
|
|
918
|
-
const std::vector<uint8_t> payload(
|
|
1027
|
+
const std::vector<uint8_t> payload(TotalBufferedAmountLowThreshold - 1);
|
|
919
1028
|
|
|
920
1029
|
q.AddMessage(NowMs, RTC::SCTP::Message(StreamId, Ppid, payload));
|
|
921
1030
|
|
|
@@ -933,9 +1042,13 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
933
1042
|
{
|
|
934
1043
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
935
1044
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
936
|
-
associationListener,
|
|
1045
|
+
associationListener,
|
|
1046
|
+
Mtu,
|
|
1047
|
+
DefaultPriority,
|
|
1048
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
1049
|
+
TotalBufferedAmountLowThreshold);
|
|
937
1050
|
|
|
938
|
-
const std::vector<uint8_t> payload(
|
|
1051
|
+
const std::vector<uint8_t> payload(TotalBufferedAmountLowThreshold);
|
|
939
1052
|
|
|
940
1053
|
q.AddMessage(NowMs, RTC::SCTP::Message(StreamId, Ppid, payload));
|
|
941
1054
|
|
|
@@ -950,14 +1063,18 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
950
1063
|
REQUIRE(associationListener.CountOnTotalBufferedAmountLowCalls() == 1);
|
|
951
1064
|
|
|
952
1065
|
REQUIRE(dataToSendTwo.has_value());
|
|
953
|
-
REQUIRE(q.GetTotalBufferedAmount() <
|
|
1066
|
+
REQUIRE(q.GetTotalBufferedAmount() < TotalBufferedAmountLowThreshold);
|
|
954
1067
|
}
|
|
955
1068
|
|
|
956
1069
|
SECTION("will stay in a stream as long as that message is sending")
|
|
957
1070
|
{
|
|
958
1071
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
959
1072
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
960
|
-
associationListener,
|
|
1073
|
+
associationListener,
|
|
1074
|
+
Mtu,
|
|
1075
|
+
DefaultPriority,
|
|
1076
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
1077
|
+
TotalBufferedAmountLowThreshold);
|
|
961
1078
|
|
|
962
1079
|
constexpr size_t OneFragmentPacketSize = OneFragmentPacketLength;
|
|
963
1080
|
|
|
@@ -1002,7 +1119,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
1002
1119
|
{
|
|
1003
1120
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
1004
1121
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
1005
|
-
associationListener,
|
|
1122
|
+
associationListener,
|
|
1123
|
+
Mtu,
|
|
1124
|
+
DefaultPriority,
|
|
1125
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
1126
|
+
TotalBufferedAmountLowThreshold);
|
|
1006
1127
|
|
|
1007
1128
|
REQUIRE(q.GetStreamPriority(1) == DefaultPriority);
|
|
1008
1129
|
|
|
@@ -1015,7 +1136,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
1015
1136
|
{
|
|
1016
1137
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
1017
1138
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
1018
|
-
associationListener,
|
|
1139
|
+
associationListener,
|
|
1140
|
+
Mtu,
|
|
1141
|
+
DefaultPriority,
|
|
1142
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
1143
|
+
TotalBufferedAmountLowThreshold);
|
|
1019
1144
|
|
|
1020
1145
|
q.SetStreamPriority(1, 42);
|
|
1021
1146
|
|
|
@@ -1031,7 +1156,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
1031
1156
|
{
|
|
1032
1157
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
1033
1158
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
1034
|
-
associationListener,
|
|
1159
|
+
associationListener,
|
|
1160
|
+
Mtu,
|
|
1161
|
+
DefaultPriority,
|
|
1162
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
1163
|
+
TotalBufferedAmountLowThreshold);
|
|
1035
1164
|
|
|
1036
1165
|
q.EnableMessageInterleaving(true);
|
|
1037
1166
|
|
|
@@ -1060,7 +1189,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
1060
1189
|
{
|
|
1061
1190
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
1062
1191
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
1063
|
-
associationListener,
|
|
1192
|
+
associationListener,
|
|
1193
|
+
Mtu,
|
|
1194
|
+
DefaultPriority,
|
|
1195
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
1196
|
+
TotalBufferedAmountLowThreshold);
|
|
1064
1197
|
|
|
1065
1198
|
const std::vector<uint8_t> payload(OneFragmentPacketLength);
|
|
1066
1199
|
|
|
@@ -1082,7 +1215,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
1082
1215
|
{
|
|
1083
1216
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
1084
1217
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
1085
|
-
associationListener,
|
|
1218
|
+
associationListener,
|
|
1219
|
+
Mtu,
|
|
1220
|
+
DefaultPriority,
|
|
1221
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
1222
|
+
TotalBufferedAmountLowThreshold);
|
|
1086
1223
|
|
|
1087
1224
|
const std::vector<uint8_t> payload(120);
|
|
1088
1225
|
|
|
@@ -1109,7 +1246,11 @@ SCENARIO("SCTP RoundRobinSendQueue", "[sctp][roundrobinsendqueue]")
|
|
|
1109
1246
|
{
|
|
1110
1247
|
mocks::RTC::SCTP::MockAssociationListener associationListener;
|
|
1111
1248
|
RTC::SCTP::RoundRobinSendQueue q(
|
|
1112
|
-
associationListener,
|
|
1249
|
+
associationListener,
|
|
1250
|
+
Mtu,
|
|
1251
|
+
DefaultPriority,
|
|
1252
|
+
DefaultStreamBufferedAmountLowThreshold,
|
|
1253
|
+
TotalBufferedAmountLowThreshold);
|
|
1113
1254
|
|
|
1114
1255
|
const std::vector<uint8_t> payload(OneFragmentPacketLength + 20);
|
|
1115
1256
|
|