Цитата
основное различие между ними в том что
Основное различие в том, что lwIP поддерживает опережающую передачу. То, что называется Sliding window.
Вообще-то мне не понятна фраза
Цитата
Also, uIP does not buffer sent packets and a sliding window implementation that does not buffer sent packets will have to be supported by a complex application layer.
Слухи о сложности сильно преувеличены. Я у себя в стеке реализовал без особых проблем. Кстати, достаточно легко это допиливается исходя из такого требования к уровню приложения:
Цитата
As uIP does not keep track of packet contents after they have been sent by the device driver, uIP requires that the application takes an active part in performing the retransmission. When uIP decides that a segment should be retransmitted, it calls the application with a flag set indicating that a retransmission is required. The application checks the retransmission flag and produces the same data that was previously sent.
Т.е. в любом случае, уровень приложения должен уметь сформировать такой-же пакет. А от этого один шаг к поддержке опережающей передачи. У меня для уровня приложения есть 3 события по передаче - сгенерить не более стольки-то новых данных (каждый вызов приводит к генерации следующей порции), откат на состояние последних подтвержденных данных и подтверждение стольки-то уже переданных данных.
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин