using System; using System.Threading; using System.Threading.Tasks; namespace GSF.Net.Snmp.Messaging { internal static class AsyncHelper { private static readonly TaskFactory s_myTaskFactory = new TaskFactory(CancellationToken.None, TaskCreationOptions.None, TaskContinuationOptions.None, TaskScheduler.Default); public static TResult RunSync(Func> func) { return s_myTaskFactory .StartNew(func) .Unwrap() .GetAwaiter() .GetResult(); } public static void RunSync(Func func) { s_myTaskFactory .StartNew(func) .Unwrap() .GetAwaiter() .GetResult(); } } }