Changeset 4762

Show
Ignore:
Timestamp:
04/07/10 00:54:13 (4 years ago)
Author:
soohyunc
Message:

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.

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

Legend:

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

    r4756 r4762  
    309309        // finally, we only need to clock packets out. 
    310310        // (i.e., do NOT update cwnd and RTT) 
    311         if(reorder_) { 
     311        if(reorder_ && is_tfwc_on_) { 
    312312                // revert to the earlier history if the disorder is beyond 3 dupack rule 
    313313                if (shift >= DUPACKS) 
     
    322322 
    323323        // TFWC is not turned on (i.e., no packet loss yet) 
    324         if(!is_tfwc_on_) { 
    325                 if(detect_loss()) 
    326                 dupack_action(first_lost_pkt_);  
    327                 else 
    328                 cwnd_++; // TCP-like AIMD 
    329         }  
     324        if(!is_tfwc_on_)  
     325                tcp_like_increase(); 
    330326        // TFWC is turned on, so compute congestion window 
    331         else { 
     327        else 
    332328                cwnd_in_packets(revert); 
    333         } 
     329 
    334330        print_cwnd(); 
    335331 
     
    634630        /* (let) the pseudo interval be the first history information */ 
    635631        history_[1] = pseudo; 
     632} 
     633/* 
     634 * TCP-like Additive Increase 
     635 * (until the very first packet loss) 
     636 */ 
     637void TfwcSndr::tcp_like_increase() { 
     638        // if loss, do dupack action 
     639        if(detect_loss()) 
     640                dupack_action(first_lost_pkt_); 
     641        // if no loss, do TCP-like AI 
     642        else 
     643                cwnd_++; 
    636644} 
    637645 
  • vic/branches/cc/cc/tfwc_sndr.h

    r4756 r4762  
    179179        void update_rtt(double tao); 
    180180 
     181        // TCP-like Additive Increase 
     182        // (until the very first packet loss) 
     183        void tcp_like_increase(); 
     184 
    181185        // detect packet loss 
    182186        // (to capture the very first lost packet loss)