private void retry() { if (!keepRetrying) { return; } HTTPRequest req = request.getClone(); req.execute(HTTPCallback); if (retryPosition < retryDelayTable.Length && (!useDeadline || Time.realtimeSinceStartup < retryDeadline)) { int delay = retryDelayTable[retryPosition++]; if (delay > 0) { AsyncExec.runWithDelay(delay, retry); } else { keepRetrying = false; } } else { keepRetrying = false; } }
public void execute(System.Action <HTTPResponse> eventCallback) { callback = eventCallback; keepRetrying = true; callbackDelivered = false; if (useDeadline) { retryDeadline = Time.realtimeSinceStartup + deadlineDelay; } retry(); if (useDeadline) { AsyncExec.runWithDelay(deadlineDelay, executeDeadline); } }