Browse Source

Allowed disabling delayed SACK from C API

Paul-Louis Ageneau 4 years ago
parent
commit
05a37c8306
2 changed files with 3 additions and 1 deletions
  1. 1 1
      include/rtc/rtc.h
  2. 2 0
      src/capi.cpp

+ 1 - 1
include/rtc/rtc.h

@@ -346,7 +346,7 @@ typedef struct {
 	int initialCongestionWindow;    // in MTUs, <= 0 means optimized default
 	int maxBurst;                   // in MTUs, 0 means optimized default, < 0 means disabled
 	int congestionControlModule;    // 0: RFC2581 (default), 1: HSTCP, 2: H-TCP, 3: RTCC
-	int delayedSackTimeMs;          // in msecs, <= 0 means optimized default
+	int delayedSackTimeMs;          // in msecs, 0 means optimized default, < 0 means disabled
 	int minRetransmitTimeoutMs;     // in msecs, <= 0 means optimized default
 	int maxRetransmitTimeoutMs;     // in msecs, <= 0 means optimized default
 	int initialRetransmitTimeoutMs; // in msecs, <= 0 means optimized default

+ 2 - 0
src/capi.cpp

@@ -1139,6 +1139,8 @@ int rtcSetSctpSettings(const rtcSctpSettings *settings) {
 
 		if (settings->delayedSackTimeMs > 0)
 			s.delayedSackTime = std::chrono::milliseconds(settings->delayedSackTimeMs);
+		else if (settings->delayedSackTimeMs < 0)
+			s.delayedSackTime = std::chrono::milliseconds(0);
 
 		if (settings->minRetransmitTimeoutMs > 0)
 			s.minRetransmitTimeout = std::chrono::milliseconds(settings->minRetransmitTimeoutMs);