Simon Goldschmidt
|
3d48abb98d
|
Implemented timeout on send (TCP only, bug #33820)
|
2011-12-11 19:30:05 +01:00 |
|
Simon Goldschmidt
|
b1980b36b8
|
fixed bug #31084 (socket API returns always EMSGSIZE on non-blocking sockets if data size > send buffers) -> now lwip_send() sends as much as possible for non-blocking sockets and only returns EWOULDBLOCK if the buffers are full
|
2011-12-06 21:44:53 +01:00 |
|
goldsimon
|
c6de17d1e5
|
netconn_accept: return ERR_ABRT instead of ERR_CLSD if the connection has been aborted by err_tcp (since this is not a normal closing procedure).
|
2011-03-13 11:17:18 +00:00 |
|
goldsimon
|
effcb90fdf
|
Mreged back changes that were lost during the savannah hack 3 weeks ago (using the sources from http://git.infradead.org/users/dwmw2/lwip.git)
|
2010-12-20 18:03:51 +00:00 |
|
goldsimon
|
d73262a0e5
|
Fixed compilation with TCP or UDP disabled.
|
2010-07-29 19:25:50 +00:00 |
|
goldsimon
|
6929a786aa
|
Fixed bug #10088: Correctly implemented shutdown at socket level.
|
2010-06-24 19:33:14 +00:00 |
|
goldsimon
|
f7479781c1
|
bug #27352: removed packing from ip_addr_t, the packed version is now only used in protocol headers. Added global storage for current src/dest IP address while in input functions.
|
2010-05-22 21:11:02 +00:00 |
|
goldsimon
|
846a2fb933
|
Fixed compiling with different options disabled (TCP/UDP), triggered by bug #29345; don't allocate acceptmbox if LWIP_TCP is disabled
|
2010-03-26 16:09:02 +00:00 |
|
goldsimon
|
a5b0ea97d6
|
Updated netconn_write doc/comment about api_flags
|
2010-03-21 12:19:56 +00:00 |
|
goldsimon
|
5d20e690fd
|
Added/corrected casts
|
2010-03-08 12:17:29 +00:00 |
|
goldsimon
|
38fcfcdfac
|
task #10167 (sockets: speed up TCP recv by not allocating a netbuf): added function netconn_recv_tcp_pbuf() for tcp netconns to receive pbufs, not netbufs; use that function for tcp sockets.
|
2010-03-06 11:29:01 +00:00 |
|
goldsimon
|
0792effc2a
|
task #7865 (implement non-blocking send operation)
|
2010-02-13 17:08:40 +00:00 |
|
goldsimon
|
0f05a6aede
|
Fixed compilation for LWIP_DNS==1 after changing sys layer
|
2010-02-13 15:43:19 +00:00 |
|
goldsimon
|
0030d1ade5
|
task #10139 (Prefer statically allocated memory): converted mbox and semaphore functions to take pointers to sys_mbox_t/sys_sem_t; converted sys_mbox_new/sys_sem_new to take pointers and return err_t; task #7212: Add Mutex concept in sys_arch (define LWIP_COMPAT_MUTEX to let sys.h use binary semaphores instead of mutexes - as before)
|
2010-02-12 13:49:21 +00:00 |
|
goldsimon
|
306f2203fa
|
Fixed bug #22110 (recv() makes receive window update for data that wasn't received by application); added function-like macros to correctly access/change conn->recv_timeout and conn->recv_bufsize
|
2010-02-09 20:23:39 +00:00 |
|
goldsimon
|
5d360a6711
|
Replaced struct ip_addr by typedef ip_addr_t to make changing the actual implementation behind the typedef easier.
|
2010-02-04 18:47:44 +00:00 |
|
goldsimon
|
e58f4c567a
|
Add non-blocking support for connect (partly from patch #6860) plus many cleanups in socket & netconn API
|
2010-01-29 22:09:31 +00:00 |
|
goldsimon
|
32c16fad42
|
igmp related: renamed netif pointers from 'interface' to 'netif' to not use keywords (or at least my editor highlights it as one...)
|
2010-01-28 18:42:40 +00:00 |
|
goldsimon
|
e678e1bdcb
|
bug #28659: Missing casts
|
2010-01-25 08:24:30 +00:00 |
|
goldsimon
|
cc1e9370af
|
Minor: fixed argument casts for mbox_fetch parameters (to fix compiler warnings)
|
2010-01-18 08:11:39 +00:00 |
|
goldsimon
|
34139606ca
|
task #10102: "netconn: clean up conn->err threading issues" by adding error return value to struct api_msg_msg
|
2010-01-17 18:28:56 +00:00 |
|
goldsimon
|
ca11baf1cd
|
Changed netconn_recv() and netconn_accept() to return err_t (bugs #27709 and #28087)
|
2010-01-17 16:21:07 +00:00 |
|
goldsimon
|
0e38a52edc
|
Again: Fixed bug #26672 (close connection when receive window = 0) by correctly draining recvmbox/acceptmbox
|
2010-01-13 15:59:47 +00:00 |
|
goldsimon
|
533e6b5f8d
|
Fixed bug #26672 (close connection when receive window = 0) by correctly draining recvmbox/acceptmbox
|
2010-01-08 15:10:03 +00:00 |
|
goldsimon
|
a9740c6a44
|
Fixed bug #27709: conn->err race condition on netconn_recv() timeout by directly returning when sys_arch_mbox_fetch times out.
|
2009-10-15 14:33:18 +00:00 |
|
goldsimon
|
27b28a9306
|
Converted netconn_type() from a function to a macro
|
2009-04-15 21:04:19 +00:00 |
|
goldsimon
|
c05e968278
|
Fixed many LWIP_DEBUGF format strings; added new format string SZT_F for size_t
|
2009-02-18 21:13:06 +00:00 |
|
goldsimon
|
14cb4eb735
|
fixed arguments of socket functions to match the standard; converted size argument of netconn_write to 'size_t' for that; fixed some warnings
|
2009-02-16 19:33:51 +00:00 |
|
fbernon
|
55bcc20deb
|
tcpip.h, tcpip.c, api.h, api_lib.c, api_msg.c, sockets.c: replace the field netconn::sem per netconn::op_completed like suggested for the task #7490 "Add return value to sys_mbox_post".
|
2008-01-12 11:52:21 +00:00 |
|
fbernon
|
bceff76c70
|
tcpip.h, tcpip.c, api.h, api_lib.c, api_msg.c, sockets.c: replace the field netconn::mbox (sys_mbox_t) per netconn::sem (sys_sem_t) for the task #7490 "Add return value to sys_mbox_post".
|
2008-01-10 21:34:25 +00:00 |
|
goldsimon
|
a41f113b8f
|
Added function netconn_free(), which deallocates all mboxes and frees the netconn (to be used from different places) - the PCB is not freed!
|
2008-01-06 14:28:04 +00:00 |
|
fbernon
|
5941b3c86e
|
sys_arch.txt, api.h, api_lib.c, api_msg.h, api_msg.c, tcpip.c, sys.h, opt.h: Introduce changes for task #7490 "Add return value to sys_mbox_post" with some modifications in the sys_mbox api: sys_mbox_new take a "size" parameters which indicate the number of pointers query by the mailbox. There is three defines in opt.h to indicate sizes for tcpip::mbox, netconn::recvmbox, and for the netconn::acceptmbox. Port maintainers, you can decide to just add this new parameter in your implementation, but to ignore it to keep the previous behavior. The new sys_mbox_trypost function return a value to know if the mailbox is full or if the message is posted. Take a look to sys_arch.txt for more details. This new function is used in tcpip_input (so, can be called in an interrupt context since the function is not blocking), and in recv_udp and recv_raw.
|
2008-01-05 21:10:32 +00:00 |
|
fbernon
|
9c4daa312d
|
Minor changes in lwip folder: fix some warnings, coding style, and rename "internal" netconn_alloc function.
|
2008-01-04 23:07:44 +00:00 |
|
fbernon
|
32005617b9
|
rawapi.txt, api.h, api_lib.c, api_msg.h, api_msg.c, sockets.c, tcp.h, tcp.c, tcp_in.c, init.c, opt.h: rename backlog options with TCP_ prefix, limit the "backlog" parameter in an u8_t, 0 is interpreted as "smallest queue", add documentation in the rawapi.txt file.
|
2008-01-04 22:18:27 +00:00 |
|
goldsimon
|
1ed34774c8
|
tcp.h, opt.h, api.h, api_msg.h, tcp.c, tcp_in.c, api_lib.c, api_msg.c, sockets.c, init.c: task #7252: Implement TCP listen backlog: Warning: raw API applications have to call 'tcp_accepted(pcb)' in their accept callback to keep accepting new connections.
|
2007-12-21 16:47:56 +00:00 |
|
goldsimon
|
48e62e25e9
|
sys.h, api_lib.c, api_msg.c, sockets.c: fix bug #21698: "netconn->recv_avail is not protected" by using new macros for interlocked access to modify/test netconn->recv_avail.
|
2007-12-21 14:59:10 +00:00 |
|
goldsimon
|
ba4254231e
|
Corrected assert when netconn_new_* fails
|
2007-12-16 16:15:08 +00:00 |
|
goldsimon
|
113a52d091
|
fix bug #21656 (recvmbox problem in netconn API): always allocate a recvmbox in netconn_new_with_proto_and_callback. For a tcp-listen netconn, this recvmbox is later freed and a new mbox is allocated for acceptmbox. This is a fix for thread-safety and allocates all items needed for a netconn when the netconn is created.
|
2007-12-02 14:53:50 +00:00 |
|
goldsimon
|
6746beb2a3
|
Compacted code: moved the code creating a netconn (without pcb) from netconn_new_with_proto_and_callback to new (synchroneous) function netconn_alloc_with_proto_and_callback and call this function from netconn_new_with_proto_and_callback and accept_function.
|
2007-11-30 12:54:10 +00:00 |
|
goldsimon
|
03777ccb21
|
Changed error handling: ERR_MEM, ERR_BUF and ERR_RTE are seen as non-fatal, all other errors are fatal. netconns and sockets block most operations once they have seen a fatal error.
|
2007-11-27 21:15:44 +00:00 |
|
goldsimon
|
4dcfdac2f5
|
initialize netconn->socket to -1 instead of 0 since 0 is a valid socket!
|
2007-11-25 16:13:56 +00:00 |
|
fbernon
|
3d9c76a69c
|
Minor change (doxygen tags)
|
2007-11-24 22:13:25 +00:00 |
|
goldsimon
|
e7483f2e64
|
Added return value comments to netconn_gethostbyname
|
2007-11-20 21:23:24 +00:00 |
|
goldsimon
|
e2cd201f6a
|
Added sequential dns resolver function for netconn api (netconn_gethostbyname)
|
2007-11-16 17:16:17 +00:00 |
|
fbernon
|
a4d14722f3
|
sockets.c, api.h, api_lib.c, api_msg.h, api_msg.c: Fixed bug #20900. Now, most of the netconn_peer and netconn_addr processing is done inside tcpip_thread context in do_getaddr.
|
2007-11-12 22:39:24 +00:00 |
|
goldsimon
|
f3dbd986cb
|
Task #7410: Removed the need to include core header files in api.h (ip/tcp/udp/raw.h) to hide the internal implementation from netconn api applications.
|
2007-11-06 20:31:28 +00:00 |
|
fbernon
|
ecce865cfe
|
api.h, api_lib.c, api_msg.c, sockets.c, opt.h: add SO_RCVBUF option for UDP & RAW netconn. You need to set LWIP_SO_RCVBUF=1 in your lwipopts.h (it's disabled by default). Netconn API users can use the netconn_recv_bufsize macro to access it. This is a first release which have to be improve for TCP. Note it used the netconn::recv_avail which need to be more "thread-safe" (note there is already the problem for FIONREAD with lwip_ioctl/ioctlsocket).
|
2007-11-02 10:37:08 +00:00 |
|
fbernon
|
cbe9b050a9
|
sockets.h, sockets.c, api.h, api_lib.c, api_msg.h, api_msg.c, tcp.h, tcp_out.c: Integrate "patch #6250 : MSG_MORE flag for send". MSG_MORE is used at socket api layer, NETCONN_MORE at netconn api layer, and TCP_WRITE_FLAG_MORE at raw api layer. This option enable to delayed TCP PUSH flag on multiple "write" calls. Note that previous "copy" parameter for "write" APIs is now called "apiflags".
|
2007-11-01 17:37:50 +00:00 |
|
fbernon
|
7077d51f1f
|
api.h, api_lib.c, api_msg.c: Add macro API_EVENT in the same spirit than TCP_EVENT_xxx macros to get a code more readable. It could also help to remove some code (like we have talk in "patch #5919 : Create compile switch to remove select code"), but it could be done later.
|
2007-10-24 12:09:18 +00:00 |
|
goldsimon
|
270c7c1110
|
Removed check for conn->err for functions whose counterparts in api_msg.c also do the check (1. remove redundant code, 2. check is better done in tcpip thread context)
|
2007-10-22 20:01:16 +00:00 |
|