lwIP - A Lightweight TCP/IP stack - Tasks: task #7865, implement non-blocking SEND...
You are not allowed to post comments on this tracker with your current authentication level.
task #7865: implement non-blocking SEND operation (socket)
Submitter: | piero <piero74> | ||
Submitted: | Thu 20 Mar 2008 02:08:02 PM UTC | ||
Votes: | 8 | ||
Category: | None | Should Start On: | Thu 20 Mar 2008 12:00:00 AM UTC |
Should be Finished on: | Thu 20 Mar 2008 12:00:00 AM UTC | Priority: | 5 - Normal |
Status: | Done | Privacy: | Public |
Assigned to: | goldsimon | Percent Complete: | 100% |
Open/Closed: | Closed | Planned Release: | 1.4.0 |
Effort: | 0.00 |
Jump to the original submission
Sun 21 Feb 2010 11:37:24 AM UTC, comment #8: |
Simon Goldschmidt <goldsimon> |
Sat 13 Feb 2010 05:12:30 PM UTC, comment #7: As described in last comment, I've added nonblocking write (for netconn and sockets). Once such a nonblocking write failed, sent_tcp and poll_tcp will check if there's enough buffer and mark the socket writable again.
|
Simon Goldschmidt <goldsimon> |
Sun 24 Jan 2010 10:03:50 AM UTC, comment #6: Thinking about this (especially in combination with the patch for bug #28605), it might be enough to return EAGAIN and repeat the check for available buffer space (that we do in sent_tcp) in poll_tcp (depending on if we have returned EAGAIN before).
|
Simon Goldschmidt <goldsimon> |
Fri 09 Oct 2009 08:39:56 PM UTC, comment #5: Being one of the supporters of a 'new' (redesigned) sockets implementation, I'd implement this only half: return EAGAIN (or wouldblock or whatever) if tcp_write() returns != ERR_OK but not the part waking up an application task from select() when memory comes available.
|
Simon Goldschmidt <goldsimon> |
Tue 25 Mar 2008 01:22:38 PM UTC, comment #4: This one makes me a little nervous. Doing the job properly, including being able to wake up select when space becomes available to write, will involve a fair bit of extra code. I wonder if this would be best left for the "new" sockets API that Frederic was working on (Task6994) or simply saying that if users need more advanced API features such as non-blocking operation they'll need to use the raw API instead. |
Kieran Mansley <kieranm> |
Thu 20 Mar 2008 03:00:28 PM UTC, comment #3: 2008/3/20, Pettinato, Jim <Jim.Pettinato@fmcti.com>:
|
piero <piero74> |
Thu 20 Mar 2008 02:54:30 PM UTC, comment #2: Jim Pettinato wrote:
|
Jonathan Larmour <jifl> |
Thu 20 Mar 2008 02:25:01 PM UTC, comment #1: As background, Piero is primarily concerned with the BSD sockets interface. lwIP does implement O_NONBLOCK in the sockets layer, but only for rx. Not for tx.
|
Jonathan Larmour <jifl> |
Thu 20 Mar 2008 02:08:02 PM UTC, original submission:
|
piero <piero74> |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
There are 8 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 8 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2010-02-21 | goldsimon | Status | Ready For Test | Done | |
Percent Complete | 90% | 100% | |||
Open/Closed | Open | Closed | |||
2010-02-13 | goldsimon | Planned Release | None | 1.4.0 | |
2010-02-13 | goldsimon | Status | None | Ready For Test | |
Percent Complete | 0% | 90% | |||
Assigned to | None | goldsimon | |||
2008-05-05 | sapym | Carbon-Copy | - | Added sapym |
Powered by Savane 3.13-4448.
Corresponding source code
Done since noone seems to care about the tiny limitation mentioned at the end of the previous comment.