More TCP sequence changes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3138 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
0916e95632
commit
a6c935e127
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user