Fabian Koch wrote:
So in short:
1) create a timestamp in do_write() via sys_now()
and save it in msg->conn->write_timestamp
2) at the beginning of do_writemore() get a
current
timestamp via sys_now() and compare it to
msg->conn->write_timestamp
Maybe at the end is better: trying to call tcp_write() one more time
won't hurt your timing constraints: the poll function is not called
very frequently after all.
3) if the difference is greater than
conn->pcb.tcp->snd_timeo
then clear write_msg,_offset and state and signal op_complete (with
ERR_*
set)
4) have a reasonable default value for
conn->pcb.tcp->snd_timeo
in the area of 10-30 sec.?
[5) add the parsing of SOCKET_SO_SNDTIMEO to the
socket
API. I might not do that because I don't use that API]
I guess that's about it, although you can never be sure... I'd try to
code it like that and test it.
Would that be okay with you guys and
are there plans
to release another 1.3.x Version before 1.4.0?
I'm pretty sure there won't be such thing. Anyway, what's in a number?
No matter what we call it, 1.3.x or 1.4.0, there are currently many
changes pending (and being implemented, as you might have noticed) and
as such, the next release has the potential to be less stable than
1.3.2 (since it contains more new code) - unless people thoroughly test
the release candidates, of course!
As I said before, we treat LwIP as an
external Blob
of Software that we don't change, so I'd need my own Patch included in
an official Version "soon".
Hmm, I understand that, but if you want to ship a product with it
"soon", I guess you might be better off staying with 1.3.2, since there
is no such thing as a time schedule at lwIP :-(
Simon
|