LWIP_ASSERT("tcp_receive: tcplen > rcv_wnd\n", pcb->rcv_wnd >= tcplen); pcb->rcv_wnd -= tcplen; //本地接收窗口变小 tcp_update_rcv_ann_wnd(pcb); //更新通告窗口 //将输入报文段的数据上传给应用层 if (inseg.p->tot_len > 0) { recv_data = inseg.p; /* Since this pbuf ...
一般发送报文段时,ACK值就是该值 */tcpwnd_size_trcv_wnd;/* 接收窗口实时大小:从远端收到数据,该值减小;应用层读走数据,该值增加。 */tcpwnd_size_trcv_ann_wnd;/* 窗口通告值大小:即是告诉发送方,我们这边的接口窗口的大小 */u32_trcv_ann_right_edge;/* 窗口通告值右边界 */#ifLWIP_TCP_SACK_O...
pcb->rcv_nxt = seqno + 1; pcb->rcv_ann_right_edge = pcb->rcv_nxt;//?不晓得 pcb->lastack = ackno; pcb->snd_wnd = tcphdr->wnd; //本地发送窗口为对方的通告窗口大小 pcb->snd_wnd_max = pcb->snd_wnd; pcb->snd_wl1 = seqno - 1; //上次更新时序号 pcb->state = ESTABLISHED...
1/** the TCP protocol control block*/2structtcp_pcb {3/** common PCB members*/4IP_PCB;5/** protocol specific PCB members*/6TCP_PCB_COMMON(structtcp_pcb);78/*ports are in host byte order*/9u16_t remote_port;1011tcpflags_t flags;12#defineTF_ACK_DELAY 0x01U /* Delayed ACK. */...
Elixir Cross Referencer - Explore source code in your browser - Particularly useful for the Linux kernel and other low-level projects in C/C++ (bootloaders, C libraries...)
全局变量 recv_data 指针用来指向可以上上层递交的数据包,所以,到这里 tcp_receive 函数将 recv_data 指向第 一个数据段中的数据,并设置好 rcv_nxt,rcv_wnd,rcv_ann_wnd 的值,接下来,遍历 ooseq 链表后续的数据段,将所有有序的数据都挂接到 recv_data 指针上,挂接完成后,向源端返 回一个确认包.实际...
tcp_rcv_rtt_update(tp, tcp_time_stamp - tp->rcv_rtt_est.time, 1);new_measure: tp->rcv_rtt_est.seq = tp->rcv_nxt + tp->rcv_wnd; tp->rcv_rtt_est.time = tcp_time_stamp; }static inline void tcp_rcv_rtt_measure_ts(struct sock *sk, ...
u32_t rcv_ann_right_edge; /*向发送方声明接收窗口时,计算得到的接收窗口的最右端*/ /**发送窗口相关变量*/ u32_t snd_nxt; /*下一次将要发送的序列号*/ u16_t snd_wnd; /*发送窗口大小*/ u32_t snd_wl1, snd_wl2; /*上次更新发送窗口时(收到一个数据包)的序列号和确认序列号*/ ...
() was replaced by the function call max() for computing the amount of space in the receive window: tp->rcv_wnd = max(win, (int)(tp->rcv_adv - tp->rcv_nxt)); When data has been received into a window beyond what has been advertised to the other side, rcv_nxt > rcv_adv, ...
We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Cancel Create saved search Sign in Sign up Reseting focus ...