This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit 1550a525e9659ef6b504b17675f6b0c1227dd36b Author: YAMAMOTO Takashi <[email protected]> AuthorDate: Wed Oct 13 10:47:03 2021 +0900 tcp_send_unbuffered.c: unifdef -UCONFIG_NET_TCP_SPLIT --- net/tcp/tcp_send_unbuffered.c | 93 ------------------------------------------- 1 file changed, 93 deletions(-) diff --git a/net/tcp/tcp_send_unbuffered.c b/net/tcp/tcp_send_unbuffered.c index d487318..359da8c 100644 --- a/net/tcp/tcp_send_unbuffered.c +++ b/net/tcp/tcp_send_unbuffered.c @@ -67,9 +67,6 @@ # define NEED_IPDOMAIN_SUPPORT 1 #endif -#if defined(CONFIG_NET_TCP_SPLIT) && !defined(CONFIG_NET_TCP_SPLIT_SIZE) -# define CONFIG_NET_TCP_SPLIT_SIZE 40 -#endif #define TCPIPv4BUF ((struct tcp_hdr_s *)&dev->d_buf[NET_LL_HDRLEN(dev) + IPv4_HDRLEN]) #define TCPIPv6BUF ((struct tcp_hdr_s *)&dev->d_buf[NET_LL_HDRLEN(dev) + IPv6_HDRLEN]) @@ -92,9 +89,6 @@ struct send_s ssize_t snd_sent; /* The number of bytes sent */ uint32_t snd_isn; /* Initial sequence number */ uint32_t snd_acked; /* The number of bytes acked */ -#if defined(CONFIG_NET_TCP_SPLIT) - bool snd_odd; /* True: Odd packet in pair transaction */ -#endif }; /**************************************************************************** @@ -249,13 +243,6 @@ static uint16_t tcpsend_eventhandler(FAR struct net_driver_s *dev, pstate->snd_sent = pstate->snd_acked; -#if defined(CONFIG_NET_TCP_SPLIT) - /* Reset the even/odd indicator to even since we need to - * retransmit. - */ - - pstate->snd_odd = false; -#endif /* Fall through to re-send data from the last that was ACKed */ } @@ -314,86 +301,6 @@ static uint16_t tcpsend_eventhandler(FAR struct net_driver_s *dev, uint32_t sndlen = pstate->snd_buflen - pstate->snd_sent; -#if defined(CONFIG_NET_TCP_SPLIT) - - /* RFC 1122 states that a host may delay ACKing for up to 500ms but - * must respond to every second segment). This logic here will trick - * the RFC 1122 recipient into responding sooner. This logic will be - * activated if: - * - * 1. An even number of packets has been send (where zero is an even - * number), - * 2. There is more data be sent (more than or equal to - * CONFIG_NET_TCP_SPLIT_SIZE), but - * 3. Not enough data for two packets. - * - * Then we will split the remaining, single packet into two partial - * packets. This will stimulate the RFC 1122 peer to ACK sooner. - * - * Don't try to split very small packets (less than - * CONFIG_NET_TCP_SPLIT_SIZE). Only the first even packet and the - * last odd packets could have sndlen less than - * CONFIG_NET_TCP_SPLIT_SIZE. The value of sndlen on the last even - * packet is guaranteed to be at least MSS / 2 by the logic below. - */ - - if (sndlen >= CONFIG_NET_TCP_SPLIT_SIZE) - { - /* sndlen is the number of bytes remaining to be sent. - * conn->mss will provide the number of bytes that can sent - * in one packet. The difference, then, is the number of bytes - * that would be sent in the next packet after this one. - */ - - int32_t next_sndlen = sndlen - conn->mss; - - /* Is this the even packet in the packet pair transaction? */ - - if (!pstate->snd_odd) - { - /* next_sndlen <= 0 means that the entire remaining data - * could fit into this single packet. This is condition - * in which we must do the split. - */ - - if (next_sndlen <= 0) - { - /* Split so that there will be an odd packet. Here - * we know that 0 < sndlen <= MSS - */ - - sndlen = (sndlen / 2) + 1; - } - } - - /* No... this is the odd packet in the packet pair transaction */ - - else - { - /* Will there be another (even) packet after this one? - * (next_sndlen > 0) Will the split condition occur on that - * next, even packet? ((next_sndlen - conn->mss) < 0) If - * so, then perform the split now to avoid the case where the - * byte count is less than CONFIG_NET_TCP_SPLIT_SIZE on the - * next pair. - */ - - if (next_sndlen > 0 && (next_sndlen - conn->mss) < 0) - { - /* Here, we know that sndlen must be MSS < sndlen <= 2*MSS - * and so (sndlen / 2) is <= MSS. - */ - - sndlen /= 2; - } - } - } - - /* Toggle the even/odd indicator */ - - pstate->snd_odd ^= true; - -#endif /* CONFIG_NET_TCP_SPLIT */ if (sndlen > conn->mss) {
