[Sumover-dev] [svn commit] r4762 - vic/branches/cc/cc
sumover-dev at cs.ucl.ac.uk
sumover-dev at cs.ucl.ac.uk
Wed Apr 7 00:54:13 BST 2010
Author: soohyunc
Date: Wed Apr 7 00:54:13 2010
New Revision: 4762
Modified:
vic/branches/cc/cc/tfwc_sndr.cpp
vic/branches/cc/cc/tfwc_sndr.h
Log:
if packet re-ordering occurred before the first packet loss, then we do not have
any history to revert - i.e., we didn't yet go into ALI routines.
Modified: vic/branches/cc/cc/tfwc_sndr.cpp
==============================================================================
--- vic/branches/cc/cc/tfwc_sndr.cpp (original)
+++ vic/branches/cc/cc/tfwc_sndr.cpp Wed Apr 7 00:54:13 2010
@@ -308,7 +308,7 @@
// by inserting "jacked" to the previous ackvec.
// finally, we only need to clock packets out.
// (i.e., do NOT update cwnd and RTT)
- if(reorder_) {
+ if(reorder_ && is_tfwc_on_) {
// revert to the earlier history if the disorder is beyond 3 dupack rule
if (shift >= DUPACKS)
revert = revert_interval(jacked_);
@@ -321,16 +321,12 @@
}
// TFWC is not turned on (i.e., no packet loss yet)
- if(!is_tfwc_on_) {
- if(detect_loss())
- dupack_action(first_lost_pkt_);
- else
- cwnd_++; // TCP-like AIMD
- }
+ if(!is_tfwc_on_)
+ tcp_like_increase();
// TFWC is turned on, so compute congestion window
- else {
+ else
cwnd_in_packets(revert);
- }
+
print_cwnd();
// set ackofack (real number)
@@ -634,6 +630,18 @@
/* (let) the pseudo interval be the first history information */
history_[1] = pseudo;
}
+/*
+ * TCP-like Additive Increase
+ * (until the very first packet loss)
+ */
+void TfwcSndr::tcp_like_increase() {
+ // if loss, do dupack action
+ if(detect_loss())
+ dupack_action(first_lost_pkt_);
+ // if no loss, do TCP-like AI
+ else
+ cwnd_++;
+}
/*
* dupack action
Modified: vic/branches/cc/cc/tfwc_sndr.h
==============================================================================
--- vic/branches/cc/cc/tfwc_sndr.h (original)
+++ vic/branches/cc/cc/tfwc_sndr.h Wed Apr 7 00:54:13 2010
@@ -178,6 +178,10 @@
// update RTT
void update_rtt(double tao);
+ // TCP-like Additive Increase
+ // (until the very first packet loss)
+ void tcp_like_increase();
+
// detect packet loss
// (to capture the very first lost packet loss)
bool detect_loss();
More information about the Sumover-dev
mailing list