⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcprtt.c,v

📁 关于TCP方面的
💻 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@/* tcprtt.c - tcprtt */#include <conf.h>#include <kernel.h>#include <network.h>/*------------------------------------------------------------------------ *  tcprtt - do round trip time estimates & cong. window processing *------------------------------------------------------------------------ */int tcprtt(ptcb)struct	tcb	*ptcb;{	int	rrt,		/* raw round trip		*/		delta;		/* deviation from smoothed	*/	rrt = tmclear(tcps_oport, MKEVENT(RETRANSMIT, ptcb-&tcbtab[0]));	if (rrt != SYSERR && ptcb->tcb_ostate != TCPO_REXMT) {		if (ptcb->tcb_srt == 0)			ptcb->tcb_srt = rrt<<3;	/* prime the pump */		/*		 * "srt" is scaled X 8 here, so this is really:		 *	delta = rrt - srt		 */		delta = rrt - (ptcb->tcb_srt>>3);		ptcb->tcb_srt += delta;		/* srt = srt + delta/8	*/		if (delta < 0)			delta = -delta;		/*		 * "rtde" is scaled X 4 here, so this is really:		 *	rtde = rtde + (|delta| - rtde)/4		 */		ptcb->tcb_rtde += delta - (ptcb->tcb_rtde>>2);		/*		 * "srt" is scaled X 8, rtde scaled X 4, so this is:		 *	rto = srt + 2 * rtde		 */		ptcb->tcb_rexmt = ((ptcb->tcb_srt>>2)+ptcb->tcb_rtde)>>1;		if (ptcb->tcb_rexmt < TCP_MINRXT)			ptcb->tcb_rexmt = TCP_MINRXT;	}	if (ptcb->tcb_cwnd < ptcb->tcb_ssthresh)		ptcb->tcb_cwnd += ptcb->tcb_smss;	else		ptcb->tcb_cwnd += (ptcb->tcb_smss * ptcb->tcb_smss) /	 		ptcb->tcb_cwnd;	return OK;}@1.1log@Initial revision@text@@

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -