Bezeichnung
easy:SetOpt_ProgressFunction -- bestimmt den Callback zur Fortschrittsanzeige-Funktion
Übersicht
easy:SetOpt_ProgressFunction(progress_callback[, userdata])
Beschreibung
Übergeben Sie eine Callback-Funktion. Diese Funktion wird von libcurl anstelle der internen Funktion mit häufigem Intervall aufgerufen. Während der Datenübertragung wird diese Funktion sehr häufig aufgerufen und in langen Zeiträumen, in denen nichts übertragen wird, kann der Aufruf auf etwa einen pro Sekunde verlangsamt werden.

Der Callback erhält vier Parameter: Der erste Parameter gibt die Gesamtzahl der Bytes an, die libcurl bei dieser Übertragung herunterladen soll. Der zweite Parameter ist die Anzahl der bisher heruntergeladenen Bytes. Der dritte Parameter gibt die Gesamtzahl der Bytes an, die libcurl bei dieser Übertragung erwartet und der vierte Parameter gibt die Anzahl der bisher hochgeladenen Bytes an. Wenn Sie das optionale Argument userdata übergeben, wird der in userdata übergebene Wert als fünfter Parameter an Ihre Callback-Funktion übergeben. Der Parameter userdata kann einen beliebigen Typ haben.

An den Callback übergebene unbekannte/nicht verwendete Argumentwerte werden auf Null gesetzt (wenn Sie nur Daten herunterladen, bleibt die Upload-Größe 0). Oft wird der Callback zuerst einmal oder mehrmals aufgerufen, bevor er die Datengrößen kennt, so dass das Programm dementsprechend erstellt werden muss, um das zu berücksichtigen.

Wenn Sie von diesem Callback einen Wert ungleich Null zurückgeben, bricht libcurl die Übertragung ab und gibt #CURLE_ABORTED_BY_CALLBACK zurück.

Wenn Sie Daten mit der Multi-Schnittstelle übertragen, wird diese Funktion nicht während Leerlaufzeiten aufgerufen, es sei denn, Sie rufen die entsprechende libcurl-Funktion auf, die die Übertragungen durchführt.

#CURLOPT_NOPROGRESS muss auf 0 gesetzt sein, damit diese Funktion tatsächlich aufgerufen wird.

Eingaben
progress_callback
Eingabewert
userdata
optional: Benutzerdaten, die an die Callback-Funktion übergeben werden sollen

Navigation zeigen