December 21, 2007
View d22b82a07e

- tcp: support for pending connects: add a connection immediately to the connection hash (before even attempting the connect sys call) and just queue possible writes. When the connection completes update the connection info & aliases and send the queued data. This avoids parallel connects when the intial connect takes too long (highly experimental, on by default)

Andrei Pelinescu-Onciul authored on 21/12/2007 17:58:07
December 14, 2007
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 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 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
August 1, 2007
View a288ee348d

- support for setting the source address in tcp_send() and tcpconn_get() (should allow for a better tcp force_send_socket() in the future) - add multiple aliases for each connection, to cover all the search possiblities: (dst_ip, dst_port), (local_ip, dst_ip, dst_port), (local_ip, local_port, dst_ip, dst_port). - improved connection hash function

Andrei Pelinescu-Onciul authored on 01/08/2007 00:05:40
February 1, 2007
View ef9e3860f1

- ticks_t move in timer_ticks.h - tcpconn_get() exported (tls needs it)

Andrei Pelinescu-Onciul authored on 01/02/2007 04:34:32
November 2, 2006
View be7401cc34

- tcp fixes/atomic_t switch

Andrei Pelinescu-Onciul authored on 02/11/2006 22:55:56
October 13, 2006
View 96227c65df

- added STUN keep-alive functionality in accordance with draft-ietf-behave-rfc3489bis-04.txt

Vladimir Marek authored on 13/10/2006 13:08:42
February 3, 2006
View 282605098c

- tcp children control fds are now non-blocking - send fd queue is used when a childs queue is full

Andrei Pelinescu-Onciul authored on 03/02/2006 16:15:18
November 17, 2005
View 7564dcaba5

- fixed F_CONN_REMOVED flag reset to 0 - struct tcp_connection re-arrangement + sign/unsigned fixes

Andrei Pelinescu-Onciul authored on 17/11/2005 01:22:03
October 28, 2005
View 06c04bc2b1

- fixed tls on same port as tcp init problem (e.g. for -l 127.0.0.1:5080) - added a new tcp connection flag, set when the tcp connection is removed from the main pool - fixed tcp_read_req reported bytes count (necessary for certain types of poll stategies)

Andrei Pelinescu-Onciul authored on 28/10/2005 20:59:37
July 8, 2005
View 55d8155eb4

- added new config vars: - tcp_connection_lifetime ( tcp connection timeout) - tcp_max_connections (default 2048) - tcp_poll_method (by default the best method for your OS is selected, if you don't like it/have problems you can force another using this var) - removed some too verbose debuging info - updated NEWS (seems everyone else forgot about it :-()

Andrei Pelinescu-Onciul authored on 08/07/2005 15:39:06
June 16, 2005
View 0ba367ec24

- tcp major changes part 1: support for >1024 connection, better io poll model (best poll method selected automatically, there is also an option to enforce it). So far support for epoll (linux >= 2.5.66), sigio + real time signals (linux), poll , select. kqueue (*bsd) and /dev/poll (solaris) comming soon. WARNING: this is still work in progress, the tcp reader part is still not converted to he new model (this means that while the tcp_main process supports > 1024 fds, the tcp childs don't), the main reason for leaving this out for now is debugging. Still to do: config options for poll_method (for now use -W method if you want to force one), config options for tcp timeouts a.s.o.

Andrei Pelinescu-Onciul authored on 16/06/2005 14:05:24