From fe774d065bc6aa41ca9f36d2e14b6a6b19912d78 Mon Sep 17 00:00:00 2001 From: Victor Grishchenko Date: Wed, 10 Feb 2010 14:51:17 +0100 Subject: [PATCH] At this point it becomes clear there ACKs and ACKs --- send_control.cpp | 4 +++- sendrecv.cpp | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/send_control.cpp b/send_control.cpp index 609ddfc..d2052b2 100644 --- a/send_control.cpp +++ b/send_control.cpp @@ -19,7 +19,7 @@ float Channel::LEDBAT_GAIN = 1.0/LEDBAT_TARGET; tint Channel::LEDBAT_DELAY_BIN = TINT_SEC*30; tint Channel::MAX_POSSIBLE_RTT = TINT_SEC*10; const char* Channel::SEND_CONTROL_MODES[] = {"keepalive", "pingpong", - "slowstart", "standard_aimd", "ledbat"}; + "slowstart", "standard_aimd", "ledbat", "closing"}; tint Channel::NextSendTime () { @@ -161,6 +161,8 @@ tint Channel::LedbatNextSendTime () { cwnd_ += LEDBAT_GAIN * off_target / cwnd_; if (cwnd_<1) cwnd_ = 1; + if (owd_cur==TINT_NEVER || owd_min==TINT_NEVER) + cwnd_ = 1; dprintf("%s #%u sendctrl ledbat %lli-%lli => %3.2f\n", tintstr(),id_,owd_cur,owd_min,cwnd_); return CwndRateNextSendTime(); diff --git a/sendrecv.cpp b/sendrecv.cpp index 278fd71..a0a1968 100644 --- a/sendrecv.cpp +++ b/sendrecv.cpp @@ -243,7 +243,7 @@ void Channel::AddAck (Datagram& dgram) { } if (data_in_.time!=TINT_NEVER) { // TODO: ACK NONE for corrupted data AddTs(dgram); - bin64_t pos = file().ack_out().cover(data_in_.bin); + bin64_t pos = data_in_.bin; // be precise file().ack_out().cover(data_in_.bin); dgram.Push8(SWIFT_ACK); dgram.Push32(pos.to32()); //dgram.Push64(data_in_.time); -- 2.20.1