unsigned int priority;
};
-struct pakfire_downloader_transfer {
- TAILQ_ENTRY(pakfire_downloader_transfer) nodes;
+struct pakfire_transfer {
+ TAILQ_ENTRY(pakfire_transfer) nodes;
CURL* handle;
// cURL multi handle
CURLM* curl;
- TAILQ_HEAD(transfers, pakfire_downloader_transfer) transfers;
+ TAILQ_HEAD(transfers, pakfire_transfer) transfers;
// Mirror stuff
char baseurl[PATH_MAX];
return 0;
}
-static void pakfire_downloader_transfer_free(struct pakfire_downloader_transfer* transfer) {
+static void pakfire_transfer_free(struct pakfire_transfer* transfer) {
if (transfer->handle)
curl_easy_cleanup(transfer->handle);
curl_global_cleanup();
// Free any unprocessed transfers
- struct pakfire_downloader_transfer* transfer;
+ struct pakfire_transfer* transfer;
TAILQ_FOREACH(transfer, &downloader->transfers, nodes)
- pakfire_downloader_transfer_free(transfer);
+ pakfire_transfer_free(transfer);
// Free mirrors
if (downloader->mirrors) {
}
#endif
-static struct pakfire_downloader_transfer* pakfire_downloader_create_transfer(
+static struct pakfire_transfer* pakfire_downloader_create_transfer(
struct pakfire_downloader* downloader, const char* path) {
- struct pakfire_downloader_transfer* transfer = calloc(1, sizeof(*transfer));
+ struct pakfire_transfer* transfer = calloc(1, sizeof(*transfer));
if (!transfer)
return NULL;
return transfer;
ERROR:
- pakfire_downloader_transfer_free(transfer);
+ pakfire_transfer_free(transfer);
return NULL;
}
-static int pakfire_downloader_transfer_done(struct pakfire_downloader* downloader,
- struct pakfire_downloader_transfer* transfer, CURLMsg* msg) {
+static int pakfire_transfer_done(struct pakfire_downloader* downloader,
+ struct pakfire_transfer* transfer, CURLMsg* msg) {
int r;
DEBUG(downloader->pakfire, "cURL transfer done: %d - %s\n",
const char* url, const char* path) {
DEBUG(downloader->pakfire, "Adding download of %s\n", url);
- struct pakfire_downloader_transfer* transfer =
+ struct pakfire_transfer* transfer =
pakfire_downloader_create_transfer(downloader, path);
if (!transfer)
return 1;
int r = curl_multi_add_handle(downloader->curl, transfer->handle);
if (r) {
ERROR(downloader->pakfire, "Adding handler failed\n");
- pakfire_downloader_transfer_free(transfer);
+ pakfire_transfer_free(transfer);
}
return r;
}
int pakfire_downloader_run(struct pakfire_downloader* downloader) {
- struct pakfire_downloader_transfer* transfer;
+ struct pakfire_transfer* transfer;
unsigned int transfers = 0;
int r;
r = curl_multi_add_handle(downloader->curl, transfer->handle);
if (r) {
ERROR(downloader->pakfire, "Adding handler failed\n");
- pakfire_downloader_transfer_free(transfer);
+ pakfire_transfer_free(transfer);
}
transfers++;
curl_easy_getinfo(msg->easy_handle, CURLINFO_PRIVATE, &transfer);
// Handle whatever comes after the transfer
- pakfire_downloader_transfer_done(downloader, transfer, msg);
+ pakfire_transfer_done(downloader, transfer, msg);
// Remove and destroy the handle
curl_multi_remove_handle(downloader->curl, transfer->handle);
- pakfire_downloader_transfer_free(transfer);
+ pakfire_transfer_free(transfer);
// Log any other messages
} else {