[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [task #10370] Raw API: Callback for received FIN to confirm
[lwip-devel] [task #10370] Raw API: Callback for received FIN to confirm connection is closed
Sat, 15 May 2010 18:12:35 +0000
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; de; rv:184.108.40.206) Gecko/20100401 Firefox/3.6.3
Update of task #10370 (project lwip):
Status: None => Ready For Test
Percent Complete: 0% => 100%
Assigned to: None => goldsimon
Follow-up Comment #4:
That change is nearly three months ago now, but that doesn't matter much.
The actual bug in the changes introduced by task #10088 was the handling of
RX packets when TF_RXCLOSED was set: pcb->sent() was still called but ->recv()
I changed that so ->recv() is called but the connection is reset when packets
including data are received when TF_RXCLOSED is set. This is to inform the
remote host that not all the data it sent has been processed (and what is done
in tcp_close_shutdown(), too).
So basically, the stack should now behave much the same as 1.3.2 did with
- no more rx packets after calling tcp_close,
- if there is unacked rx data (i.e. the receive window is not at its full
size) *or* data arrives after we called close: RST is sent and the connection
This means that we can still call close right after enqueueing all packets
and receive the remote host's FIN correctly unless it breaks our assumptions
and still sends data.
Receiving data after closing our TX channel can be done by calling
Iordan, could you please verify this works as I expect it to?
Thanks for reporting this!
Reply to this item at:
Nachricht geschickt von/durch Savannah