| plan 9 kernel history: overview | file list | diff list |
2002/0713/ip/tcp.c (diff list | history)
| 2002/0712/sys/src/9/ip/tcp.c:576,582 – 2002/0713/sys/src/9/ip/tcp.c:576,582 (short | long | prev | next) | ||
| 1997/0327 | tcpcreate(Conv *c) { | |
| 2002/0711 | c->rq = qopen(QMAX, Qcoalesce, tcpacktimer, c); | |
| 2002/0712 |
| |
| 2002/0713 | c->wq = qopen(4*QMAX, Qkick, tcpkick, c); | |
| 1997/0327 | } | |
| 2000/0101 | static void | |
| 2002/0712/sys/src/9/ip/tcp.c:1662,1668 – 2002/0713/sys/src/9/ip/tcp.c:1662,1668 | ||
| 2001/0531 | && seg->wnd == tcb->snd.wnd) { | |
| 1999/0401 | /* this is a pure ack w/o window update */ | |
| 2001/0118 |
| |
| 2002/0713 | netlog(s->p->f, Logtcprxmt, "dupack %lud ack %lud sndwnd %d advwin %d\n", | |
| 2001/0118 | tcb->snd.dupacks, seg->ack, tcb->snd.wnd, seg->wnd); | |
| 1999/0401 | if(++tcb->snd.dupacks == TCPREXMTTHRESH) { | |
| 2002/0712/sys/src/9/ip/tcp.c:1672,1678 – 2002/0713/sys/src/9/ip/tcp.c:1672,1678 | ||
| 1999/0401 | */ tcb->snd.recovery = 1; tcb->snd.rxt = tcb->snd.nxt; | |
| 2001/0118 |
| |
| 2002/0713 | netlog(s->p->f, Logtcprxmt, "fast rxt %lud, nxt %lud\n", tcb->snd.una, tcb->snd.nxt); | |
| 2000/0102 | tcprxmit(s); | |
| 1999/0401 | } else { /* do reno tcp here. */ | |
| 2002/0712/sys/src/9/ip/tcp.c:2303,2309 – 2002/0713/sys/src/9/ip/tcp.c:2303,2309 | ||
| 1997/0327 | if(sent != 0) { | |
| 2002/0507 | if((tcb->flags&FORCE) == 0) | |
| 1997/0327 | break; | |
| 2002/0713 | // tcb->snd.ptr = tcb->snd.una; | |
| 1997/0327 | } usable = 1; } | |
| 2002/0712/sys/src/9/ip/tcp.c:2443,2453 – 2002/0713/sys/src/9/ip/tcp.c:2443,2449 | ||
| 2000/0706 | tpriv->stats[OutSegs]++; | |
| 1998/1118 | if(tcb->kacounter > 0) tcpgo(tpriv, &tcb->katimer); | |
| 2000/1221 |
| |
| 2002/0713 | ||
| 2002/0601 | switch(version){ case V4: | |
| 2002/0507 | ipoput4(f, hbp, 0, s->ttl, s->tos); | |
| 2002/0712/sys/src/9/ip/tcp.c:2458,2465 – 2002/0713/sys/src/9/ip/tcp.c:2454,2464 | ||
| 2002/0601 | default: panic("tcpoutput2: version %d", version); } | |
| 2000/1221 |
| |
| 2002/0713 | if((msgs%4) == 1){ qunlock(s); sched(); qlock(s); } | |
| 1997/0327 | } } | |
| 2002/0712/sys/src/9/ip/tcp.c:2641,2648 – 2002/0713/sys/src/9/ip/tcp.c:2640,2647 | ||
| 1997/0327 | localclose(s, Etimedout); break; } | |
| 2002/0713 | netlog(s->p->f, Logtcprxmt, "timeout rexmit 0x%lux %d/%d\n", tcb->snd.una, tcb->timer.start, NOW); | |
| 2001/0530 | tcpsettimer(tcb); | |
| 2001/0118 |
| |
| 2000/0102 | tcprxmit(s); | |
| 2000/0706 | tpriv->stats[RetransTimeouts]++; | |
| 1999/0401 | tcb->snd.dupacks = 0; | |