diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2010-11-27 22:50:27 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2010-11-27 22:50:27 +0000 |
commit | 2268aea37d7eca8d6aeeaa6c3f540088329ed3b1 (patch) | |
tree | a06d999bbc5b095dee2d93108b2dae374f760d42 | |
parent | db7df42a1e4787dccdae1c6da52923231436417f (diff) | |
download | px4-nuttx-2268aea37d7eca8d6aeeaa6c3f540088329ed3b1.tar.gz px4-nuttx-2268aea37d7eca8d6aeeaa6c3f540088329ed3b1.tar.bz2 px4-nuttx-2268aea37d7eca8d6aeeaa6c3f540088329ed3b1.zip |
More TCP sequence changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3138 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r-- | nuttx/net/send.c | 5 | ||||
-rw-r--r-- | nuttx/net/uip/uip_tcpappsend.c | 22 |
2 files changed, 7 insertions, 20 deletions
diff --git a/nuttx/net/send.c b/nuttx/net/send.c index 768d9ce9d..480627a14 100644 --- a/nuttx/net/send.c +++ b/nuttx/net/send.c @@ -172,14 +172,15 @@ static uint16_t send_interrupt(struct uip_driver_s *dev, void *pvconn, nllvdbg("ACK: acked=%d sent=%d buflen=%d\n", pstate->snd_acked, pstate->snd_sent, pstate->snd_buflen); - /* Have all of the bytes in the buffer been sent and ACKed? */ + /* Have all of the bytes in the buffer been sent and acknowledged? */ - if ( pstate->snd_acked >= pstate->snd_buflen) + if (pstate->snd_acked >= pstate->snd_buflen) { /* Yes. Then pstate->snd_buflen should hold the number of bytes * actually sent. */ + conn->unacked = 0; goto end_wait; } diff --git a/nuttx/net/uip/uip_tcpappsend.c b/nuttx/net/uip/uip_tcpappsend.c index 0bd44a653..9a09e0997 100644 --- a/nuttx/net/uip/uip_tcpappsend.c +++ b/nuttx/net/uip/uip_tcpappsend.c @@ -134,25 +134,11 @@ void uip_tcpappsend(struct uip_driver_s *dev, struct uip_conn *conn, if (dev->d_sndlen > 0) { - /* If the connection has acknowledged data, the conn->unacked count - * should be discarded. - */ - - if ((result & UIP_ACKDATA) != 0) - { - conn->unacked = 0; - } - /* Remember how much data we send out now so that we know - * when everything has been acknowledged. No attempt is made - * here to keep track of how much outstanding, un-acked data - * there is. That is handled in the TCP send() logic. Here - * need the conn->unacked to be the same as the size of the packet - * to be sent. - * - * Just increment the amount of data sent. This will be needed - * in sequence number calculations and we know that this is not - * a re-tranmission. Retransmissions do not go through this path. + * when everything has been acknowledged. Just increment the amount + * of data sent. This will be needed in sequence number calculations + * and we know that this is not a re-tranmission. Retransmissions + * do not go through this path. */ conn->unacked += dev->d_sndlen; |