Go to file
Linus Nielsen Feltzing d021f2e8a0 Introducing a new persistent connection caching system using "bundles".
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.
2012-12-07 10:08:33 +01:00
CMake cmake: use standard findxxx modules for cmake v2.8+ 2012-09-17 23:22:09 +02:00
docs examples: fix compilation issues - commit 7332a7cafb follow-up 2012-12-05 12:59:14 +01:00
include build: fix AIX compilation and usage 2012-11-23 17:57:00 +01:00
lib Introducing a new persistent connection caching system using "bundles". 2012-12-07 10:08:33 +01:00
m4 autoconf: don't force-disable compiler debug option 2012-11-16 13:06:49 +01:00
packages OS400: upgrade wrappers for the 7.28.1 release. 2012-11-12 14:26:16 +01:00
perl removed trailing whitespace 2011-12-30 03:36:18 +01:00
src build: explain current role of LIBS in our Makefile.am files 2012-12-04 23:32:05 +01:00
tests runtests and friends: Do not add undefined values to @INC 2012-12-06 23:04:33 +01:00
winbuild winbuild: Fix PDB file output 2012-11-14 23:20:10 +01:00
.gitattributes Tell git to not convert configure-related files. 2012-07-17 20:35:23 +02:00
.gitignore Moved some patterns to subfolder's .gitignore. 2012-07-03 14:31:50 +02:00
Android.mk Updated build docs w.r.t. Android and binary sizes 2012-09-03 22:41:03 +02:00
CHANGES CHANGES: move all contents from CHANGES to CHANGES.0 2010-06-21 22:27:39 +02:00
CHANGES.0 removed trailing whitespace 2011-12-30 03:36:18 +01:00
CMakeLists.txt configure: NATIVE_WINDOWS no longer defined in config files 2012-04-12 13:08:48 +02:00
COPYING Updated copyright year. 2012-04-13 20:35:02 +02:00
CTestConfig.cmake ENH: move dashboard location 2009-07-15 19:40:46 +00:00
GIT-INFO s/CVS/git 2010-03-22 00:41:34 +01:00
MacOSX-Framework MacOSX-Framework: updates for Snowleopard 2010-09-21 00:07:45 +02:00
Makefile.am test: offer "automake" output and check for perl better 2012-11-23 11:56:26 +01:00
Makefile.dist Changed some main makefile targets. 2011-09-25 17:43:50 +02:00
Makefile.msvc.names build: refactoring of msvc makefiles to allow overriding of library filenames. 2010-12-20 21:53:44 +01:00
README various changes of CVS to git 2010-03-22 00:34:09 +01:00
RELEASE-NOTES nss: prevent NSS from crashing on client auth hook failure 2012-12-03 13:34:36 +01:00
TODO-RELEASE TODO-RELEASE: cleanup for 7.28.0 2012-10-09 00:34:16 +02:00
acinclude.m4 build: prevent global LIBS from influencing src and lib build targets 2012-12-03 22:41:18 +01:00
buildconf curl tool: use configuration files from lib directory 2012-04-06 23:37:05 +02:00
buildconf.bat curl tool: use configuration files from lib directory - follow-up II 2012-04-09 21:39:03 +02:00
configure.ac build: explain current role of LIBS in our Makefile.am files 2012-12-04 23:32:05 +01:00
curl-config.in build: prevent global LIBS from influencing src and lib build targets 2012-12-03 22:41:18 +01:00
curl-style.el remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
install-sh removed trailing whitespace 2010-02-14 19:40:18 +00:00
libcurl.pc.in build: prevent global LIBS from influencing src and lib build targets 2012-12-03 22:41:18 +01:00
log2changes.pl log2changes.pl: fix the Version output 2012-06-07 23:50:00 +02:00
maketgz curl tool: use configuration files from lib directory 2012-04-06 23:37:05 +02:00
missing renamed generated config.h to curl_config.h in order to avoid clashes when libcurl is used with other projects which also have a config.h. 2009-07-14 13:25:14 +00:00
mkinstalldirs remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
sample.emacs remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
vc6curl.dsw Renamed vc6 workspace and project files to avoid filename clash when used for conversion to later VS versions. 2009-05-08 17:51:44 +00:00

README

                                  _   _ ____  _
                              ___| | | |  _ \| |
                             / __| | | | |_) | |
                            | (__| |_| |  _ <| |___
                             \___|\___/|_| \_\_____|

README

  Curl is a command line tool for transferring data specified with URL
  syntax. Find out how to use curl by reading the curl.1 man page or the
  MANUAL document. Find out how to install Curl by reading the INSTALL
  document.

  libcurl is the library curl is using to do its job. It is readily
  available to be used by your software. Read the libcurl.3 man page to
  learn how!

  You find answers to the most frequent questions we get in the FAQ document.

  Study the COPYING file for distribution terms and similar. If you distribute
  curl binaries or other binaries that involve libcurl, you might enjoy the
  LICENSE-MIXING document.

CONTACT

  If you have problems, questions, ideas or suggestions, please contact us
  by posting to a suitable mailing list. See http://curl.haxx.se/mail/

  All contributors to the project are listed in the THANKS document.

WEB SITE

  Visit the curl web site for the latest news and downloads:

        http://curl.haxx.se/

GIT

  To download the very latest source off the GIT server do this:

    git clone git://github.com/bagder/curl.git

  (you'll get a directory named curl created, filled with the source code)

NOTICE

  Curl contains pieces of source code that is Copyright (c) 1998, 1999
  Kungliga Tekniska Högskolan. This notice is included here to comply with the
  distribution terms.