December 14, 2007
View db237b38b3

- tcp: - try to destroy a conenction on error asap, even if it's referenced (in this case destroy it partially - close fds a.s.o) - changed refcnt usage

Andrei Pelinescu-Onciul authored on 14/12/2007 01:50:39
View 19782e1c0b

- tcp: - try to close connections faster even if still referenced - changed refcnt usage (on 0 refcnt free, experimental)

Andrei Pelinescu-Onciul authored on 14/12/2007 01:40:12
December 12, 2007
View 20863813dc

- tcp: close connection immediately if the write buf. timeouts (timeout fixes) + some cleanups

Andrei Pelinescu-Onciul authored on 12/12/2007 19:11:25
December 11, 2007
View 8b0472d783

- local_timer cleanup (always use local_timer*, don't mix them with timer_*) - tcp fix: clear the write watch flag after empting the write buffers

Andrei Pelinescu-Onciul authored on 11/12/2007 20:11:01
View 503bc281c1

- io_wait fixes: - use the correct flags fo sigio_rt's sigio_band - call handle_io for POLLERR & POLLHUP even if not specified among the watched events - tcp: - handle POLLERR & POLLHUP (same way as POLLIN)

Andrei Pelinescu-Onciul authored on 11/12/2007 18:19:58
December 6, 2007
View a0b4a4b929

- freebsd accept filter fix (it works now)

Andrei Pelinescu-Onciul authored on 06/12/2007 12:14:47
View 62d2baec8f

- freebsd compile fixes (use struct __res_state* instead of res_state + some typos)

Andrei Pelinescu-Onciul authored on 06/12/2007 00:07:56
December 5, 2007
View 9188021ac6

Initialize and destory the configuration framework in main.c, and update the local config within the child processes at the beginning of each loop.

Miklos Tirpak authored on 05/12/2007 15:51:24
December 4, 2007
View 885b9f62e1

- tcp support for queueing writes: if some data cannot be written immediately on the socket (socket buffers full or still connecting), the data will be queued and written at a latter time (max. queue size per socket is controlled by tcp_conn_wq_max, timeout by tcp_send_timeout and total queued bytes / max. mem. used by tcp_wq_max). By default disabled (experimental), to enable it use tcp_buf_write=yes in ser.cfg. To compile without queueing support use -DNO_TCP_BUF_WRITE.

Andrei Pelinescu-Onciul authored on 04/12/2007 20:25:29
November 29, 2007
View a0553f4e1e

- io_wait support for write - io_wait: added io_watch_chg(..) - updated tcp code to the io_wait api changes

Andrei Pelinescu-Onciul authored on 29/11/2007 21:01:45
November 28, 2007
View 20c64cc651

- advanced tcp options support: - support for defering tcp accepts until some data is received (linux & freebsd), default off. See NEWS: tcp_defer_accept. - support for delaying the final ACK from the 3-way handshake until some data is sent (the ACK will come with the 1st data segment). Default on when supported (linux only). See NEWS: tcp_delayed_ack. - support for limiting the number of retransmitted SYNs (linux only, see NEW: tcp_syncnt) - support for limiting the lifetime of orphaned sockets in FIN_WAIT2 (linux only, see NEWS: tcp_linger2) - keepalive support, see NEWS: tcp_keepalive (default on), tcp_keepidle, tcp_keepintvl and tcp_keepcnt

Andrei Pelinescu-Onciul authored on 28/11/2007 19:20:47
View 00f45c4966

- fix: don't extend the timeout on tcp_send() if the connection is handled by a tcp_reader process

Andrei Pelinescu-Onciul authored on 28/11/2007 13:39:55
November 27, 2007
View 5c5cd7369d

- for tcp read processes, reuse the read fd for sending - keep a tcp send fd cache (experimental) (performance improvement)

Andrei Pelinescu-Onciul authored on 27/11/2007 21:05:32
View ccb7fda23b

- switched to much better tcp timers (performance increase especially with tesn of thousands of active tcp connections)

Andrei Pelinescu-Onciul authored on 27/11/2007 07:23:27
November 22, 2007
View 5702d44833

- io_wait.h: when calling handle_io() in a loop (e.g. io_watch_add() & SIGIO_RT or EPOLL_ET or io_wait_loop_* and repeat mode) always check & stop if the fd was removed inside the handle_io() call

Andrei Pelinescu-Onciul authored on 22/11/2007 19:32:35