129 Commits

Author SHA1 Message Date
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
04a8b0f85d Added TCP_SNDQUEUELOWAT corresponding to TCP_SNDLOWAT and added tcp_sndqueuelen() - this fixes bug #28605 2010-01-27 18:24:57 +00:00
goldsimon
e678e1bdcb bug #28659: Missing casts 2010-01-25 08:24:30 +00:00
goldsimon
dbcce3a4be bug #26523: Compiler Warnings 2010-01-23 17:48:36 +00:00
goldsimon
82318c0ef1 Fixed bug #28651 (tcp_connect: no callbacks called if tcp_enqueue fails) both in raw- and netconn-API 2010-01-21 18:43:37 +00:00
goldsimon
52389fc09a Fixed bug #27316 (netconn: Possible deadlock in err_tcp) by using sys_mbox_trypost in err_tcp 2010-01-19 18:34:01 +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
97f797e859 do_connect(): set conn->err to an error if conn->pcb is NULL 2010-01-14 19:49:27 +00:00
goldsimon
9521f54741 Another fix for bug #28562: Segfault @ err_tcp 2010-01-14 15:43:11 +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
8a81cb4ba0 Fixed bug #27955: netconn_close may nether return when LWIP_TCPIP_CORE_LOCKING enabled 2009-11-22 16:08:52 +00:00
goldsimon
a9cbdc141b patch #6888: Patch for UDP Netbufs to support dest-addr and dest-port 2009-10-07 17:58:30 +00:00
goldsimon
8a7c1c4926 do_connect: LWIP_ERROR on invalid/disabled protocol 2009-08-30 20:24:08 +00:00
goldsimon
cc4b968f0a Fixed bug #27114: Missing #include in api_msg.c on LWIP 1.3.1RC1; added include <string.h> 2009-07-27 15:13:24 +00:00
fbernon
ce5699f41b minor changes: typos and coding style 2009-07-09 10:21:16 +00:00
kieranm
1eee0be951 BUG23240 use signed counters for recv_avail and don't increment
counters until message successfully sent to mbox
2009-07-09 09:35:07 +00:00
kieranm
2b87f899ab BUG26722: initialise netconn write variables in netconn_alloc 2009-06-25 10:17:18 +00:00
goldsimon
9d5bf57dd9 fixed bug #25695: Segmentation fault in do_writemore() 2009-04-18 17:48:41 +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
goldsimon
8c7705bbf9 added configurable default valud for netconn->recv_bufsize: RECV_BUFSIZE_DEFAULT (fixes bug #23726: pbuf pool exhaustion on slow recv()) 2009-02-11 19:07:22 +00:00
goldsimon
b0c61ffbb1 Reverted last changes since it's wrong when sizeof(int)==2... 2008-12-20 12:24:41 +00:00
goldsimon
aa568727d1 patch #6699: fixed some warnings on platform where sizeof(int) == 2 2008-12-19 18:08:29 +00:00
jifl
1f3fe200df Correct commented description of do_recv().
Reported by Charles Landau on lwip-users.
2008-11-12 19:14:21 +00:00
goldsimon
ae2d5266c5 removed invalid call to tcp_connect() in do_close_internal() 2008-07-15 11:18:58 +00:00
goldsimon
99db244124 fixed bug #23847: do_close_internal references freed memory 2008-07-14 20:12:36 +00:00
fbernon
7774b57a1c api_msg.c: fix wrong mailbox invalidate (NULL was used instead of SYS_MBOX_NULL). Spoted by Silas Boyd-Wickizer. 2008-03-21 16:23:14 +00:00
goldsimon
90cb4b4e09 Corrected comment in do_writemore() 2008-03-19 20:59:59 +00:00
fbernon
afcf49ad3a api_msg.c: minor change, fix warning. 2008-03-13 19:57:11 +00:00
fbernon
a2f1892480 api_msg.c: fix the netbuf::addr field to point on the ip_src on the pbuf's copy (about bug#22530). 2008-03-12 12:58:07 +00:00
fbernon
552106e2a4 api_msg.c: Fix bug #22530 "api_msg.c's recv_raw() does not consume data". 2008-03-12 10:55:54 +00:00
fbernon
7518acf634 rawapi.txt, api_msg.c, tcp.c, tcp_in.c, tcp.h: changes for task #7675 "Enable to refuse data on a TCP_EVENT_RECV call". Important, behavior changes for the tcp_recv callback (see rawapi.txt). 2008-01-14 21:07:08 +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
9906e4c984 api_msg.c, opt.h: replace DEFAULT_RECVMBOX_SIZE per DEFAULT_TCP_RECVMBOX_SIZE, DEFAULT_UDP_RECVMBOX_SIZE and DEFAULT_RAW_RECVMBOX_SIZE (to optimize queues sizes), like suggested for the task #7490 "Add return value to sys_mbox_post". 2008-01-11 23:50:10 +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
fbernon
2b54da5070 api_msg.c, err.h, err.c, sockets.c, dns.c, dns.h: replace "enum dns_result" by err_t type. Add a new err_t code "ERR_INPROGRESS". 2007-12-13 23:06:49 +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
fbernon
3d9c76a69c Minor change (doxygen tags) 2007-11-24 22:13:25 +00:00
goldsimon
7797ada1f5 Added documentation 2007-11-24 21:19:47 +00:00
goldsimon
dc515c7ad3 Fixed bug #20287: tcp_output_nagle sends too early. This fixes the nagle algorithm; nagle now also works for all raw API applications and has to be explicitly disabled with 'tcp_pcb->flags |= TF_NODELAY' 2007-11-21 17:59:03 +00:00
fbernon
f58515b51e api_msg.c, dns.h, dns.c: Implement DNS_DOES_NAME_CHECK option (check if name received match the name query), implement DNS_USES_STATIC_BUF (the place where copy dns payload to parse the response), return an error if there is no place for a new query, and fix some minor problems. 2007-11-19 22:42:01 +00:00