multi:SetOpt_TimerFunction(timer_callback[, userdata])
Bestimmte Funktionen, wie Zeitüberschreitungs- und Wiederholungsversuche, erfordern den Aufruf von libcurl, auch wenn es keine Aktivität auf den Dateideskriptoren gibt.
Ihre Callback-Funktion erhält einen einzigen Parameter namens timeout_ms
.
Wenn Sie das optionale Argument userdata
übergeben, wird der Wert, den Sie
in userdata
übergeben, als zweiter Parameter an Ihre Callback-Funktion
übergeben. Der Parameter userdata
kann von beliebigem Typ sein.
Nach dem Aufruf sollte Ihre Callback-Funktion einen sich nicht wiederholenden
Timer mit einem Intervall von timeout_ms
installieren. Jedes Mal, wenn der
Timer ausgelöst wird, rufen Sie entweder multi:SocketAction() oder
multi:Perform() auf, je nachdem, welche Schnittstelle Sie verwenden.
Ein timeout_ms-Wert
von -1 bedeutet, dass Sie Ihren Timer löschen sollten.
Ein timeout_ms-Wert
von 0 bedeutet, dass Sie so schnell wie möglich
multi:SocketAction() oder multi:Perform() (einmal)
aufrufen sollten.
Der Timer-Callback wird nur dann aufgerufen, wenn sich timeout_ms
ändert.
Der Timer-Callback sollte bei Erfolg 0 und bei Fehler -1 zurückgeben. Dieser Callback kann anstelle von oder zusätzlich zu multi:Timeout() verwendet werden.