[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