Dear all, I'm using lwIP in a application where two devices (both running lwIP) exchange data of arbitary size. The devices are low on RAM, therefore the different lwIP buffers are configured small.
This is what I experience: I send data from device B to device A. Device A can't handle all the data and starts decreasing it's window size. At some moment, A's window size is smaller (say 119 bytes) than the size of the data that is enqueued in B's unsent queue. Now to the problem, lwIP doesn't split up the data in the unsent queue to fit into A's window. Is this really a problem? In my case, A's window update is lost by B so that B doesn't know that A now accepts data packets with a size equal or larger than the packet in B's unsent queue. If A's window whould have been 0 bytes, then implementation of TCP persist timer into lwIP whould have solved the problem by letting B probe A for a window update. Now when A's window update is lost, I'm in a deadlock situation. What is the right approach? Try to split the data in B's unsent queue? A one-byte window probe by B (like the persist timer)? My guess is that the first solution is The Right One according to the TCP RFCs. I'm really curious how you other lwIP users have solved this problem. Regards, PH -- Per-Henrik Lundblom epost: [EMAIL PROTECTED] telefon: 0733-20 71 26 hemsida: www.whatever.nu _______________________________________________ lwip-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/lwip-users
