@@ -57,7 +57,6 @@ type receiver struct {
5757 // Adaptive reorder tolerance state (mirrors libsrt m_iReorderTolerance)
5858 maxReorderTolerance int
5959 reorderTolerance int
60- reorderSupport bool
6160 consecOrderedDelivery int
6261 consecEarlyDelivery int
6362 freshLoss []freshLossEntry
@@ -97,7 +96,6 @@ func NewReceiver(config ReceiveConfig) congestion.Receiver {
9796
9897 maxReorderTolerance : config .MaxReorderTolerance ,
9998 reorderTolerance : config .MaxReorderTolerance ,
100- reorderSupport : false ,
10199
102100 sendACK : config .OnSendACK ,
103101 sendNAK : config .OnSendNAK ,
@@ -277,9 +275,9 @@ func (r *receiver) Push(pkt packet.Packet) {
277275 r .statistics .PktLoss += lossLen
278276 r .statistics .ByteLoss += lossLen * uint64 (r .avgPayloadSize )
279277
280- // Determine initial loss TTL based on reorder support
278+ // Determine initial loss TTL based on adaptive reorder tolerance support
281279 initialLossTTL := 0
282- if r .reorderSupport {
280+ if r .maxReorderTolerance > 0 {
283281 initialLossTTL = r .reorderTolerance
284282 }
285283
@@ -512,28 +510,12 @@ func (r *receiver) ReorderTolerance() int {
512510 return r .reorderTolerance
513511}
514512
515- func (r * receiver ) SetReorderSupport (enabled bool ) {
516- r .lock .Lock ()
517- defer r .lock .Unlock ()
518-
519- r .reorderSupport = enabled
520- if enabled {
521- r .reorderTolerance = r .maxReorderTolerance
522- } else {
523- r .reorderTolerance = 0
524- r .consecOrderedDelivery = 0
525- r .consecEarlyDelivery = 0
526- r .freshLoss = nil
527- r .traceReorderDistance = 0
528- }
529- }
530-
531513// unlose adjusts reorder tolerance for a belated packet. Mirrors libsrt CUDT::unlose().
532514func (r * receiver ) unlose (pkt packet.Packet ) {
533515 hasIncreasedTolerance := false
534516 wasReordered := false
535517
536- if r .reorderSupport {
518+ if r .maxReorderTolerance > 0 {
537519 // Original (not retransmitted) belated packet means reordering
538520 wasReordered = ! pkt .Header ().RetransmittedPacketFlag
539521 if wasReordered {
@@ -553,7 +535,7 @@ func (r *receiver) unlose(pkt packet.Packet) {
553535 }
554536
555537 // Early return if adaptive reorder is not active (mirrors libsrt)
556- if ! r . reorderSupport || r .reorderTolerance == 0 {
538+ if r . maxReorderTolerance == 0 || r .reorderTolerance == 0 {
557539 return
558540 }
559541
@@ -578,7 +560,7 @@ func (r *receiver) unlose(pkt packet.Packet) {
578560
579561// updateOrderedDelivery tracks in-order delivery and decays tolerance after 50 consecutive.
580562func (r * receiver ) updateOrderedDelivery (wasSentInOrder bool ) {
581- if ! r . reorderSupport {
563+ if r . maxReorderTolerance == 0 {
582564 return
583565 }
584566
0 commit comments