[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] Comments about "low_level_output"

From: Frédéric BERNON
Subject: [lwip-devel] Comments about "low_level_output"
Date: Thu, 24 May 2007 17:39:41 +0200

Before one of last commits (for bug #3168), "sendto" on udp or raw didn't return any error if the netif's low_level_output return something different than ERR_OK. It wasn't so good, but now, it's fixed. But during one of my unit tests to measure performance (a "hot" subject), I have note that the test failed (and of course, always succes before): in fact, because I had fill all my device MAC "descriptors", my low_level_output return a ERR_IF error (/* Low-level netif error */). And because this error is now return until conn->err, API stop to send, and even application got the error. All these errors checkings are good, but functionally, it's not correct. So, my questions:
1/ What do you think that a "low_level_output" function should return when all "buffers" are full?
2/ Is it something you do in your ports to "block" inside low_level_output to wait some space to send? (I don't think, but...)
3/ Isn't it something to document anywhere? I think, but where? I thought to rawpi.txt...
4/ Should we have to "filter" such "temporary errors" inside do_xxx functions? (It will add some code, and increase footprint, so, I don't like that)
My current workaround is to return ERR_OK in the place of ERR_IF in this case (it's just affect my port, and, after all, a packet could always be lost in the network...)
Thank you for your comments...
Frédéric BERNON
Chef de projet informatique
Microsoft Certified Professional
Tél. : +33 (0)4-67-87-61-10
Fax. : +33 (0)4-67-70-85-44
Email : address@hiddenr
Web Site : http://www.hymatom.fr
P Avant d'imprimer, penser à l'environnement

Attachment: Frédéric BERNON.vcf
Description: Frédéric BERNON.vcf

reply via email to

[Prev in Thread] Current Thread [Next in Thread]