mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-14 09:59:48 -05:00
* Port v2 of Hosting service to SqlToolsService - Renamed project to .v2 so that existing hosted service isn't impacted - Copied over the CoreServices project which contains ConnectionServiceCore and other reusable services for anything interacting with MSSQL - Ported unit test project across and verified tests run. * Nuget package support for reusable DLLs * Use 1.1 version per Karl's suggestion * Use correct license URL and project URL * Use new SMO packages
27 lines
695 B
C#
27 lines
695 B
C#
|
|
//
|
|
// Copyright (c) Microsoft. All rights reserved.
|
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
//
|
|
|
|
using System;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Microsoft.SqlTools.ServiceLayer.Test.Common
|
|
{
|
|
public static class TaskExtensions
|
|
{
|
|
public static async Task<Task> WithTimeout(this Task task, TimeSpan timeout)
|
|
{
|
|
Task delayTask = Task.Delay(timeout);
|
|
Task firstCompleted = await Task.WhenAny(task, delayTask);
|
|
if (firstCompleted == delayTask)
|
|
{
|
|
throw new Exception("Task timed out");
|
|
}
|
|
|
|
return task;
|
|
}
|
|
}
|
|
}
|