Commit Graph

29 Commits

Author SHA1 Message Date
Yang Tse
b03abddb28 Avoid inline C99ism, and move c-ares routines for managing doubly-linked lists. 2007-10-02 02:18:01 +00:00
Steinar H. Gunderson
23f5d145ec Previously, processing a large batch of timeouts was O(n^2) in the number of
outstanding queries, and processing a DNS response packet was O(n) in the
number of outstanding queries. To speed things up in Google, we added a few circular,
doubly-linked lists of queries that are hash-bucketed based on
the attributes we care about, so most important operations are now O(1).

It might be that the number of buckets are higher than most people would need,
but on a quick calculation it should only be 100kB or so even on a 64-bit
system, so I've let it stay as-is.
2007-09-29 18:18:47 +00:00
Steinar H. Gunderson
6ce589c3ee Make the query callbacks return the number of timeouts that happened during the execution of a query, and update documentation accordingly. (Patch from the Google tree.) 2007-09-28 14:46:51 +00:00
Steinar H. Gunderson
d426c20c0a Three fixes in one commit (sorry): a) Take care of the tcpbuf if it ends while queued for transmission, note broken servers and close them in the main loop, and store TCP socket generation number in order not to send the same query twice over the same socket. 2007-09-28 14:28:14 +00:00
Daniel Stenberg
2faba57c85 Shmulik Regev brought cryptographically secure transaction IDs 2007-05-30 21:11:10 +00:00
Gisle Vanem
6e682c2b01 Moved select_s() to Makefile.dj since select() is used in applications. 2006-11-07 13:29:15 +00:00
Gisle Vanem
c6c8a30da1 Added definition of select() for Watt32. 2006-10-31 17:25:48 +00:00
Yang Tse
45b1843dc9 Provide multiple header inclusion prevention definition __ARES_PRIVATE_H 2006-07-26 10:54:08 +00:00
Daniel Stenberg
dd06c60ada Nick Mathewson added the ARES_OPT_SOCK_STATE_CB option that when set makes
c-ares call a callback on socket state changes. A better way than the
ares_getsock() to get full control over the socket state.
2006-05-03 06:11:44 +00:00
Daniel Stenberg
00c7780fcb James Bursa fixes: find the hosts file on RISC OS, and made it build with
newer gcc versions that no longer defines "riscos".
2006-01-05 07:57:32 +00:00
Gunter Knauf
8b571fbbb1 make ares compile again for NetWare. 2005-08-10 17:03:53 +00:00
Dominick Meglio
099ae31523 Attempted to fix c-ares not building on non-IPv6 systems 2005-04-15 15:25:16 +00:00
Dominick Meglio
ea03ad3bee Made sortlist support IPv6 (this can probably use some testing) 2005-04-09 19:59:59 +00:00
Dominick Meglio
feec421744 Made sortlist support CIDR matching for IPv4 2005-04-09 16:49:47 +00:00
Dominick Meglio
a7ba0d908d Made ares_gethostbyaddr support IPv6 by specifying AF_INET6 as the family 2005-04-08 15:41:31 +00:00
Gisle Vanem
bd7021d05b CURL_EXTERN is already in <curl/curl.h>. 2005-03-22 10:37:26 +00:00
Gisle Vanem
3478253e5a Replace IsNT with IS_NT(). 2004-11-10 14:30:25 +00:00
Daniel Stenberg
dc8688b8dc fix CURL_EXTERN for debug builds 2004-11-09 18:10:51 +00:00
Daniel Stenberg
39af394a1c removed tabs and trailing whitespace from source 2004-10-06 07:50:18 +00:00
Daniel Stenberg
12dc142a28 Dominick Meglio host file path discovery patch for windows 2004-09-26 18:20:58 +00:00
Gisle Vanem
b17e32baa7 Changes for Watt-32 on Windows. I've assumed Configure
sets the required HAVE_xx defines for non-DOS/Win targets.
2004-08-20 13:45:26 +00:00
Daniel Stenberg
c85bf83e88 - Fixed a few variable return types for some system calls. Made configure
check for ssize_t to make it possible to use that when receiving the send()
  error code. This is necessary to prevent compiler warnings on some systems.

- Made configure create config.h, and all source files now include setup.h that
  might include the proper config.h (or a handicrafted alternative).

- Switched to 'ares_socket_t' type for sockets in ares, since Windows don't
  use 'int' for that.

- automake-ified and libool-ified c-ares. Now it builds libcares as a shared
  lib on most platforms if wanted. (This bloated the size of the release
  archive with another 200K!)

- Makefile.am now uses Makefile.inc for the c sources, h headers and man
  pages, to make it easier for other makefiles to use the exact same set of
  files.

- Adjusted 'maketgz' to use the new automake magic when building distribution
  archives.
2004-07-22 22:18:45 +00:00
Gunter Knauf
d90d40b5d1 added NetWare section for paths. 2004-07-04 21:36:32 +00:00
Daniel Stenberg
60af1cbcc2 djgpp fixes by Gisle 2004-07-01 13:55:13 +00:00
Daniel Stenberg
097281f459 Gisle Vanem made this build fine with djgpp and the Watt-32 stack. 2004-07-01 06:58:47 +00:00
Daniel Stenberg
17a3aa1ddc minor size_t fix to kill a warning 2004-02-27 13:21:47 +00:00
Daniel Stenberg
59091fa860 If CURLDEBUG is set we use the libcurl internal memdebug system to track
memory leaks etc.
2004-02-17 07:40:02 +00:00
Daniel Stenberg
a7b5045598 made more pointers unsigned, as they were mostly used passed in to functions
that assume them to be unsigned. Stops compiler warnings.
2004-02-04 07:52:13 +00:00
Daniel Stenberg
0436fbe226 ares 1.1.1 with collected applied patches 2003-10-07 21:54:04 +00:00