public async Task <NetworkNAT> WaitForNatState(int natid, int netid, NetworkResourceStatus state) { NetworkNAT nat; var startTime = DateTime.Now; while (DateTime.Now - startTime < TimeSpan.FromMilliseconds(OneStepClient.TaskTimeout)) { var nats = (await GetPublicNetwork(netid)).Nats; nat = nats.Where(n => n.Id == natid).First(); if (nat.Status == state) { return(nat); } if (nat.Status == NetworkResourceStatus.error) { throw new PublicNetworkTaskException("NAT state changed to error"); } await Task.Delay(OneStepClient.PoolingInterval); } throw new TimeoutException(); }
public async Task <PublicNetwork> WaitForNetState(int netid, NetworkResourceStatus state) { PublicNetwork net; var startTime = DateTime.Now; while (DateTime.Now - startTime < TimeSpan.FromMilliseconds(OneStepClient.TaskTimeout)) { net = await GetPublicNetwork(netid); if (net.Status == state) { return(net); } if (net.Status == NetworkResourceStatus.error) { throw new PublicNetworkTaskException("Network state changed to error"); } await Task.Delay(OneStepClient.PoolingInterval); } throw new TimeoutException(); }