[Sumover-dev] [svn commit] r4721 - vic/branches/cc/cc
sumover-dev at cs.ucl.ac.uk
sumover-dev at cs.ucl.ac.uk
Wed Mar 24 03:42:38 GMT 2010
Author: soohyunc
Date: Wed Mar 24 03:42:38 2010
New Revision: 4721
Modified:
vic/branches/cc/cc/tfwc_sndr.cpp
vic/branches/cc/cc/tfwc_sndr.h
Log:
further improvement on packet re-ordering detection routine...
Modified: vic/branches/cc/cc/tfwc_sndr.cpp
==============================================================================
--- vic/branches/cc/cc/tfwc_sndr.cpp (original)
+++ vic/branches/cc/cc/tfwc_sndr.cpp Wed Mar 24 03:42:38 2010
@@ -131,7 +131,6 @@
pvec_ = (u_int16_t *)malloc(sizeof(u_int16_t) * num_vec_);
clear_pvec(num_vec_);
__jacked_ = 0;
- __begins_ = 0;
}
void TfwcSndr::tfwc_sndr_send(int seqno, double now, double offset) {
@@ -207,12 +206,12 @@
if (jacked_ < __jacked_) {
// this ack is deprecated message (e.g., too old).
if(jacked_ < aoa_) {
- debug_msg("warning: this ack is older than AoA!\n");
+ debug_msg("warning: this ack(%d) is older than AoA(%d)!\n",jacked_,aoa_);
return;
}
// this ack is delivered out-of-order
else if(out_of_ack(jacked_, seqvec_, num_seqvec_)) {
- debug_msg("warning: this ack itself is out-of-order!\n");
+ debug_msg("warning: this ack(%d) itself is out-of-order!\n",jacked_);
outofack = true;
// cwnd process
if(is_tfwc_on_) control();
@@ -224,8 +223,9 @@
// packet is out-of-order
else {
debug_msg("warning: packet reordering occurred!\n");
- // restore the previous state variables
- replace(__begins_, __jacked_);
+ // replace just ack'ed seqno
+ replace(__jacked_);
+ // re-calculate numelm and numvec
num_elm_ = get_numelm(begins_, jacked_);
num_vec_ = get_numvec(num_elm_);
reorder = true;
@@ -283,7 +283,6 @@
fprintf(stderr, "\tnow: %f\tcwnd: %d\n", so_recv_, cwnd_);
// set ackofack (real number)
- if(!reorder)
aoa_ = ackofack();
// sampled RTT
@@ -337,8 +336,8 @@
void TfwcSndr::reset_var() {
num_missing_ = 0;
- // store jack'ed and begins
- store(begins_, jacked_);
+ // store jack'ed
+ store(jacked_);
// declare pvec to store ackv
pvec_ = (u_int16_t *)malloc(sizeof(u_int16_t) * num_vec_);
clear_pvec(num_vec_);
Modified: vic/branches/cc/cc/tfwc_sndr.h
==============================================================================
--- vic/branches/cc/cc/tfwc_sndr.h (original)
+++ vic/branches/cc/cc/tfwc_sndr.h Wed Mar 24 03:42:38 2010
@@ -290,14 +290,14 @@
return (end - begin + 1);
}
- // replace jack'ed and begins from the previous ackvec
- inline void replace (u_int16_t lowest, u_int16_t highest) {
- begins_ = lowest; jacked_ = highest;
+ // replace jack'ed
+ inline void replace (u_int16_t highest) {
+ jacked_ = highest;
}
- // store jack'ed and begins
- inline void store (u_int16_t lowest, u_int16_t highest) {
- __begins_ = lowest; __jacked_ = highest;
+ // store jack'ed
+ inline void store (u_int16_t highest) {
+ __jacked_ = highest;
}
int ndtp_; // number of data packet sent
@@ -369,7 +369,6 @@
// highest/lowest packet sequence numbers (prev ackvec)
u_int16_t __jacked_; // previous highest packet sequence number
- u_int16_t __begins_; // previous lowest packet sequence number
};
#endif
More information about the Sumover-dev
mailing list