/[lwip]/lwip/src/core/tcp_in.c
ViewVC logotype

Diff of /lwip/src/core/tcp_in.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by kieranm, Thu Oct 24 13:34:36 2002 UTC revision 1.6 by adamdunkels, Wed Nov 13 08:11:52 2002 UTC
# Line 601  tcp_receive(struct tcp_pcb *pcb) Line 601  tcp_receive(struct tcp_pcb *pcb)
601    struct pbuf *p;    struct pbuf *p;
602    s32_t off;    s32_t off;
603    int m;    int m;
604      u32_t right_wnd_edge;
605    
606                
607    if(flags & TCP_ACK) {    if(flags & TCP_ACK) {
608      unsigned long int right_wnd_edge = pcb->snd_wnd + pcb->snd_wl1;      right_wnd_edge = pcb->snd_wnd + pcb->snd_wl1;
609    
610      /* Update window. */      /* Update window. */
611      if(TCP_SEQ_LT(pcb->snd_wl1, seqno) ||      if(TCP_SEQ_LT(pcb->snd_wl1, seqno) ||
# Line 625  tcp_receive(struct tcp_pcb *pcb) Line 626  tcp_receive(struct tcp_pcb *pcb)
626            
627    
628      if(pcb->lastack == ackno) {      if(pcb->lastack == ackno) {
629        if(pcb->snd_wl1+pcb->snd_wnd==right_wnd_edge){        if(pcb->snd_wl1 + pcb->snd_wnd == right_wnd_edge){
630          ++pcb->dupacks;          ++pcb->dupacks;
631          if(pcb->dupacks >= 3 && pcb->unacked != NULL) {          if(pcb->dupacks >= 3 && pcb->unacked != NULL) {
632            if(!(pcb->flags & TF_INFR)) {            if(!(pcb->flags & TF_INFR)) {
# Line 649  tcp_receive(struct tcp_pcb *pcb) Line 650  tcp_receive(struct tcp_pcb *pcb)
650              }              }
651            }            }
652          }          }
653        }        } else {
654        else{          DEBUGF(TCP_FR_DEBUG, ("tcp_receive: dupack averted %lu %lu\n",
655          DEBUGF(TCP_FR_DEBUG, ("tcp_receive: dupack averted %lu %lu\n", pcb->snd_wl1+pcb->snd_wnd, right_wnd_edge));                                    pcb->snd_wl1 + pcb->snd_wnd, right_wnd_edge));    
656        }        }
657      } else if(TCP_SEQ_LT(pcb->lastack, ackno) &&      } else if(TCP_SEQ_LT(pcb->lastack, ackno) &&
658                TCP_SEQ_LEQ(ackno, pcb->snd_max)) {                TCP_SEQ_LEQ(ackno, pcb->snd_max)) {

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26