private async Task <TimeoutRetryResult> InternalTimeoutRetryAsync(LL_TimeoutRetryParams @params, int ttl = Request.DEFAULT_RESPONSE_TIMEOUT_SECONDS) { TimeoutRetryResult resultTimeout = new TimeoutRetryResult(); try { Task <LL_TimeoutRetryResult> taskLLTimeout = LL_TimeoutRetryAsync(@params, ttl); // The use of await rethrows exceptions from the task LL_TimeoutRetryResult resultLLTimeout = await taskLLTimeout; ThrowIfError(resultLLTimeout.Code, resultLLTimeout.Message); if (resultLLTimeout.Code == "200") { resultTimeout.Successful = true; } } catch (Exception exc) { Log(LogLevel.Error, exc, "Timeout exception"); } return(resultTimeout); }
// Low Level API public Task <LL_TimeoutRetryResult> LL_TimeoutRetryAsync(LL_TimeoutRetryParams parameters, int ttl = Request.DEFAULT_RESPONSE_TIMEOUT_SECONDS) { return(mAPI.ExecuteAsync <LL_TimeoutRetryParams, LL_TimeoutRetryResult>("signalwire.testing.timeout_retry", parameters, ttl)); }