Cleaned up TaskHelper

This commit is contained in:
RogueException
2015-10-12 03:40:14 -03:00
parent 7c024ecda8
commit 3c1ba07178

View File

@@ -34,28 +34,32 @@ namespace Discord.Helpers
else
return await self.ConfigureAwait(false);
}
public static async Task Timeout(this Task self, int milliseconds, CancellationTokenSource cancelToken)
public static async Task Timeout(this Task self, int milliseconds, CancellationTokenSource timeoutToken)
{
try
{
cancelToken.CancelAfter(milliseconds);
await self;
timeoutToken.CancelAfter(milliseconds);
await self.ConfigureAwait(false);
}
catch (OperationCanceledException)
{
throw new TimeoutException();
if (timeoutToken.IsCancellationRequested)
throw new TimeoutException();
throw;
}
}
public static async Task<T> Timeout<T>(this Task<T> self, int milliseconds, CancellationTokenSource cancelToken)
public static async Task<T> Timeout<T>(this Task<T> self, int milliseconds, CancellationTokenSource timeoutToken)
{
try
{
cancelToken.CancelAfter(milliseconds);
return await self;
timeoutToken.CancelAfter(milliseconds);
return await self.ConfigureAwait(false);
}
catch (OperationCanceledException)
{
throw new TimeoutException();
if (timeoutToken.IsCancellationRequested)
throw new TimeoutException();
throw;
}
}
}