Skip to content
Snippets Groups Projects
Select Git revision
  • 6c4f4aa7032cfeba7c95b2b29db0546b9d864284
  • master default protected
  • develop protected
  • feature/asio-profile
  • ti_lab_build
  • mbe
  • asio_stream_debugging_tools
  • ba_2016_heimes
  • jst
  • fabian
  • ITADataSources_v2024a
  • VA_v2023b
  • VA_v2023a
  • VA_v2022a
  • before_cmake_rework
  • v2021.a
  • v2020.a
  • v2019.a
  • v2018.b
  • v2018.a
  • v2017.d
  • v2017.c
  • v2017.b
  • good_after_refactoring
  • first_good_running_netaudio
  • v2017.a
  • v2016.a
27 results

ITABufferDataSource.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Helpers.cs 994 B
    using Polly;
    
    namespace Coscine.GraphDeployer;
    
    public static class Helpers
    {
        /// <summary>
        /// Retry Virtuoso Requests since they sometimes just fail
        /// </summary>
        /// <typeparam name="W"></typeparam>
        /// <param name="function"></param>
        /// <returns></returns>
        public static void WrapRequest(Action action)
        {
            Policy
                .Handle<Exception>()
                .WaitAndRetry(5, retryNumber => TimeSpan.FromMilliseconds(200))
                .Execute(() => action.Invoke());
        }
    
        /// <summary>
        /// Retry Virtuoso Requests since they sometimes just fail
        /// </summary>
        /// <typeparam name="W"></typeparam>
        /// <param name="function"></param>
        /// <returns></returns>
        public static W WrapRequest<W>(Func<W> function)
        {
            return Policy
                .Handle<Exception>()
                .WaitAndRetry(5, retryNumber => TimeSpan.FromMilliseconds(200))
                .ExecuteAndCapture(() => function.Invoke()).Result;
        }
    
    }