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 firstname.lastname@example.org --- 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 51b9e25..7bcfc8f 100644 --- a/lib/libalpm/alpm.c +++ b/lib/libalpm/alpm.c @@ -23,6 +23,11 @@
+/* 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); }