add .gitignore
[swift-upb.git] / send_control.cpp
index 6f76bc4..130e9bd 100644 (file)
@@ -13,7 +13,7 @@ using namespace swift;
 using namespace std;
 
 tint Channel::MIN_DEV = 50*TINT_MSEC;
-tint Channel::MAX_SEND_INTERVAL = TINT_SEC; //*58
+tint Channel::MAX_SEND_INTERVAL = TINT_SEC*58;
 tint Channel::LEDBAT_TARGET = TINT_MSEC*25;
 float Channel::LEDBAT_GAIN = 1.0/LEDBAT_TARGET;
 tint Channel::LEDBAT_DELAY_BIN = TINT_SEC*30;
@@ -40,7 +40,7 @@ tint    Channel::SwitchSendControl (int control_mode) {
             SEND_CONTROL_MODES[send_control_],SEND_CONTROL_MODES[control_mode]);
     switch (control_mode) {
         case KEEP_ALIVE_CONTROL:
-            send_interval_ = max(TINT_SEC/10,rtt_avg_);
+            send_interval_ = rtt_avg_; //max(TINT_SEC/10,rtt_avg_);
             dev_avg_ = max(TINT_SEC,rtt_avg_);
             data_out_cap_ = bin64_t::ALL;
             cwnd_ = 1;
@@ -73,7 +73,8 @@ tint    Channel::KeepAliveNextSendTime () {
         return SwitchSendControl(SLOW_START_CONTROL);
     if (data_in_.time!=TINT_NEVER)
         return NOW;
-    send_interval_ <<= 1;
+    if (last_send_time_==NOW)
+        send_interval_ <<= 1;
     if (send_interval_>MAX_SEND_INTERVAL)
         send_interval_ = MAX_SEND_INTERVAL;
     return last_send_time_ + send_interval_;