lwip tcp_sent
时间: 2023-07-27 10:07:35 浏览: 458
tcp-send.c
lwip 中的 tcp_sent 函数也是用来更新 TCP 发送方的状态信息的。与标准的 TCP 协议类似,lwip 中的 TCP 协议也需要维护发送方的状态信息,例如发送窗口大小、拥塞窗口大小、未确认的数据量等等。当发送方发送数据时,它会通过 tcp_sent 函数来更新这些状态信息。
与标准的 TCP 协议不同的是,lwip 中的 tcp_sent 函数的参数是一个指向发送方的 TCP 控制块(tcp_pcb)的指针,而不是一个指向 sk_buff 结构体的指针。tcp_pcb 结构体用于管理 TCP 连接的状态信息,包括发送方和接收方的状态信息。在调用 tcp_sent 函数时,需要将指向发送方的 TCP 控制块的指针作为参数传递给函数。tcp_sent 函数会根据 tcp_pcb 中的信息来更新发送方的状态信息,例如已发送的数据量、未确认的数据量、发送窗口大小等等。例如,可以使用以下代码来调用 tcp_sent 函数:
```
tcp_sent(tcp_pcb, sent_callback);
```
其中,tcp_pcb 是指向发送方的 TCP 控制块的指针,sent_callback 是一个回调函数,用于在发送方更新状态信息后通知应用程序。需要注意的是,在调用 tcp_sent 函数之前需要确保发送方已经将数据包发送到网络中,否则可能会导致发送方状态信息的计算出现错误。
阅读全文