diff options
author | Dan McGee <dan@archlinux.org> | 2010-08-24 00:42:22 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2010-08-24 00:42:22 +0200 |
commit | ce3f4e7800f215e8a2b6e22bbd5f5ec9e0de90c2 (patch) | |
tree | f2fa40f36f97e1f55ab2ceb84e258de5bb47b4b2 | |
parent | 815557118318779f784e82a39497f46dde32845d (diff) | |
download | pacman-ce3f4e7800f215e8a2b6e22bbd5f5ec9e0de90c2.tar.gz pacman-ce3f4e7800f215e8a2b6e22bbd5f5ec9e0de90c2.tar.xz |
Enable libfetch connection caching
This will allow downloads to reuse connections if possible, which could make
big differences on perceived FTP speed as the connection won't have to be
reestablished each time. For the most part, HTTP requests wouldn't be using
keep alive anyway so this won't have an effect there.
I'm not enthused about having to do this with the library initialization,
but there isn't a much better place due to the fact that the loop over
databases occurs on the frontend and not the backend.
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | lib/libalpm/alpm.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/libalpm/alpm.c b/lib/libalpm/alpm.c index 51b9e25b..7bcfc8f1 100644 --- a/lib/libalpm/alpm.c +++ b/lib/libalpm/alpm.c @@ -23,6 +23,11 @@ #include "config.h" +/* connection caching setup */ +#if defined(INTERNAL_DOWNLOAD) +#include <fetch.h> +#endif + /* libalpm */ #include "alpm.h" #include "alpm_list.h" @@ -54,6 +59,10 @@ int SYMEXPORT alpm_initialize(void) bindtextdomain("libalpm", LOCALEDIR); #endif +#ifdef INTERNAL_DOWNLOAD + fetchConnectionCacheInit(5, 1); +#endif + return(0); } @@ -73,6 +82,10 @@ int SYMEXPORT alpm_release(void) _alpm_handle_free(handle); handle = NULL; +#ifdef INTERNAL_DOWNLOAD + fetchConnectionCacheClose(); +#endif + return(0); } |