aboutsummaryrefslogtreecommitdiff
path: root/lib/hash.h
AgeCommit message (Collapse)Author
2012-12-07Introducing a new persistent connection caching system using "bundles".Linus Nielsen Feltzing
A bundle is a list of all persistent connections to the same host. The connection cache consists of a hash of bundles, with the hostname as the key. The benefits may not be obvious, but they are two: 1) Faster search for connections to reuse, since the hash lookup only finds connections to the host in question. 2) It lays out the groundworks for an upcoming patch, which will introduce multiple HTTP pipelines. This patch also removes the awkward list of "closure handles", which were needed to send QUIT commands to the FTP server when closing a connection. Now we allocate a separate closure handle and use that one to close all connections. This has been tested in a live system for a few weeks, and of course passes the test suite.
2010-03-24remove the CVSish $Id$ linesDaniel Stenberg
2007-06-26Robert Iakobashvili re-arranged the internal hash code to work with a customDaniel Stenberg
hash function for different hashes, and also expanded the default size for the socket hash table used in multi handles to greatly enhance speed when very many connections are added and the socket API is used.
2005-01-25Use plain structs and not typedef'ed ones in the hash and linked-list code.Daniel Stenberg
2004-06-24Source cleanups. The major one being that we now _always_ use a Curl_addrinfoDaniel Stenberg
linked list for name resolved data, even on hosts/systems with only IPv4 stacks as this simplifies a lot of code.
2004-01-07updated year in the copyright stringDaniel Stenberg
2003-09-14Jeff Pohlmeyer did some marvelous debugging to track this one down. We MUSTDaniel Stenberg
NOT free the existing hash entry when we try to add a new one that matches an existing entry. We now instead free the new one, and make the parent function use the old entry's struct instead.
2003-08-14new proto for Curl_hash_initDaniel Stenberg
2003-01-29removed the local variables for emacs and vim, use the new sample.emacsDaniel Stenberg
way for emacs, and vim users should provide a similar non-polluting style
2003-01-16copyright year update in the source headerDaniel Stenberg
2002-11-05Curl_resolv() now returns a different struct, and it contains a referenceDaniel Stenberg
counter so that the caller needs to decrease that counter when done with the returned data. If compiled with MALLOCDEBUG I've added some extra checking that the counter is decreased before a handle is closed etc.
2002-09-03updated source code boilerplate/headerDaniel Stenberg
2002-04-27Now uses Curl_ as prefix for internal global symbols. curl_ should only beDaniel Stenberg
used for "exported" globals.
2002-04-17Prune old hostcache entries with each call...Sterling Hughes
This can be optimized a tidbit, but this is a start.
2002-04-13Add protos and change return value of curl_hash_count....Sterling Hughes
2002-04-12Speed up the hash code considerably, removing a bunch of legacy crudSterling Hughes
2002-03-19copyright string (year) updateDaniel Stenberg
2002-01-14Remove erreaneous include, setup.h is included one line aboveSterling Hughes
2002-01-07Make cach'ing work with threads now, there are now three cases:Sterling Hughes
- Use a global dns cache (via setting the tentatively named, CURLOPT_DNS_USE_GLOBAL_CACHE option to true) - Use a per-handle dns cache, by default - Use a pooled dns cache when in the "multi" interface
2002-01-03Sterling Hughes' provided initial DNS cache source code.Daniel Stenberg