📄 tcprwindow.c,v
字号:
head 1.2;access;symbols;locks dls:1.2; strict;comment @ * @;1.2date 97.09.21.19.29.52; author dls; state Dist;branches;next 1.1;1.1date 94.01.14.03.51.20; author dls; state v2e1;branches;next ;desc@@1.2log@pre-3e code@text@/* tcprwindow.c - tcprwindow */#include <conf.h>#include <kernel.h>#include <network.h>/*------------------------------------------------------------------------ * tcprwindow - do receive window processing for a TCB *------------------------------------------------------------------------ */int tcprwindow(ptcb)struct tcb *ptcb;{ int window; window = ptcb->tcb_rbsize - ptcb->tcb_rbcount; if (ptcb->tcb_state < TCPS_ESTABLISHED) return window; /* * Receiver-Side Silly Window Syndrome Avoidance: * Never shrink an already-advertised window, but wait for at * least 1/4 receiver buffer and 1 max-sized segment before * opening a zero window. */ if (window*4 < ptcb->tcb_rbsize || window < ptcb->tcb_rmss) window = 0; window = max(window, ptcb->tcb_cwin - ptcb->tcb_rnext); ptcb->tcb_cwin = ptcb->tcb_rnext + window; return window;}@1.1log@Initial revision@text@@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -