Changeset 4721

Show
Ignore:
Timestamp:
03/24/10 03:42:38 (4 years ago)
Author:
soohyunc
Message:

further improvement on packet re-ordering detection routine...

Location:
vic/branches/cc/cc
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • vic/branches/cc/cc/tfwc_sndr.cpp

    r4714 r4721  
    132132        clear_pvec(num_vec_); 
    133133        __jacked_ = 0; 
    134         __begins_ = 0; 
    135134} 
    136135 
     
    208207                // this ack is deprecated message (e.g., too old). 
    209208                if(jacked_ < aoa_) { 
    210                   debug_msg("warning: this ack is older than AoA!\n"); 
     209                  debug_msg("warning: this ack(%d) is older than AoA(%d)!\n",jacked_,aoa_); 
    211210                  return; 
    212211                } 
    213212                // this ack is delivered out-of-order 
    214213                else if(out_of_ack(jacked_, seqvec_, num_seqvec_)) { 
    215                   debug_msg("warning: this ack itself is out-of-order!\n"); 
     214                  debug_msg("warning: this ack(%d) itself is out-of-order!\n",jacked_); 
    216215                  outofack = true; 
    217216                  // cwnd process 
     
    225224                else { 
    226225                  debug_msg("warning: packet reordering occurred!\n"); 
    227                   // restore the previous state variables 
    228                   replace(__begins_, __jacked_); 
     226                  // replace just ack'ed seqno 
     227                  replace(__jacked_); 
     228                  // re-calculate numelm and numvec 
    229229                  num_elm_ = get_numelm(begins_, jacked_); 
    230230                  num_vec_ = get_numvec(num_elm_); 
     
    284284 
    285285        // set ackofack (real number) 
    286         if(!reorder) 
    287286        aoa_ = ackofack();  
    288287 
     
    338337        num_missing_ = 0; 
    339338 
    340         // store jack'ed and begins 
    341         store(begins_, jacked_); 
     339        // store jack'ed 
     340        store(jacked_); 
    342341        // declare pvec to store ackv 
    343342        pvec_ = (u_int16_t *)malloc(sizeof(u_int16_t) * num_vec_); 
  • vic/branches/cc/cc/tfwc_sndr.h

    r4714 r4721  
    291291        } 
    292292 
    293         // replace jack'ed and begins from the previous ackvec 
    294         inline void replace (u_int16_t lowest, u_int16_t highest) { 
    295                 begins_ = lowest; jacked_ = highest; 
    296         } 
    297  
    298         // store jack'ed and begins 
    299         inline void store (u_int16_t lowest, u_int16_t highest) { 
    300                 __begins_ = lowest; __jacked_ = highest; 
     293        // replace jack'ed  
     294        inline void replace (u_int16_t highest) { 
     295                jacked_ = highest; 
     296        } 
     297 
     298        // store jack'ed  
     299        inline void store (u_int16_t highest) { 
     300                __jacked_ = highest; 
    301301        } 
    302302 
     
    370370        // highest/lowest packet sequence numbers (prev ackvec) 
    371371        u_int16_t __jacked_;    // previous highest packet sequence number 
    372         u_int16_t __begins_;    // previous lowest packet sequence number 
    373372}; 
    374373