[Sumover-dev] [svn commit] r4492 - vic/branches/cc/cc
sumover-dev at cs.ucl.ac.uk
sumover-dev at cs.ucl.ac.uk
Fri Jul 24 15:55:58 BST 2009
Author: soohyunc
Date: Fri Jul 24 15:55:51 2009
New Revision: 4492
Modified:
vic/branches/cc/cc/tfwc_rcvr.cpp
Log:
There was a minor bug in freeing up unnecessary bits in AckVec and it is now
fixed - had to consider the case 'currNumElm_%16 == 0' case.
Also, AckVec print method is now improved (visually).
Modified: vic/branches/cc/cc/tfwc_rcvr.cpp
==============================================================================
--- vic/branches/cc/cc/tfwc_rcvr.cpp (original)
+++ vic/branches/cc/cc/tfwc_rcvr.cpp Fri Jul 24 15:55:51 2009
@@ -106,8 +106,9 @@
SET_BIT_VEC(tfwcAV[i-1], 0);
}
}
+ int k = (currNumElm_%16 == 0) ? 16: (currNumElm_%16);
// freeing the rest of bits
- for (int i = 16; i > currNumElm_%16; i--)
+ for (int i = 16; i > k; i--)
CLR_BIT_AT(tfwcAV[currNumVec_-1], i);
}
}
@@ -178,17 +179,25 @@
}
void TfwcRcvr::print_ackvec(u_int16_t *ackv) {
+ // start sequence number
+ int seqno = ackofack_+1;
+
+ // printing...
printf("\t>> AckVec: ");
- for (int i = 0; i < currNumVec_; i++) {
+ for (int i = 0; i < currNumVec_-1; i++) {
printf("[%d] ( ", ackv[i]);
- if (i < (currNumVec_-1)) {
- for (int j = 1; j <= 16; j++)
- if (CHECK_BIT_AT(ackv[i], j))
- printf("%d ", ackofack_ + j);
- } else {
- for (int j = 1; j <= currNumElm_%16; j++)
- if (CHECK_BIT_AT(ackv[i], j))
- printf("%d ", ackofack_ + currNumElm_ - j + 1);
- } printf (") ");
- } printf("...... %s +%d\n",__FILE__,__LINE__);
+ for (int j = 0; j < 16; j++) {
+ if ( CHECK_BIT_AT(ackv[i], (j+1)) )
+ printf("%d ", seqno);
+ seqno++;
+ }
+ } printf (") ");
+
+ int k = (currNumElm_%16 == 0) ? 16: currNumElm_%16;
+ printf("[%d] ( ", ackv[currNumVec_-1]);
+ for (int i = 0; i < k; i++) {
+ if (CHECK_BIT_AT(ackv[currNumVec_-1], (i+1) ))
+ printf("%d ", seqno);
+ seqno++;
+ } printf(")...... %s +%d\n",__FILE__,__LINE__);
}
More information about the Sumover-dev
mailing list