コード例 #1
0
        public static TOptions WithUpdateDelayer <TOptions>(this TOptions options, Action <UpdateDelayer.Options>?optionsBuilder)
            where TOptions : class, ILiveState.IOptions
        {
            var updateDelayerOptions = new UpdateDelayer.Options();

            optionsBuilder?.Invoke(updateDelayerOptions);
            return(options.WithUpdateDelayer(updateDelayerOptions));
        }
コード例 #2
0
        public static TOptions WithUpdateDelayer <TOptions>(
            this TOptions options,
            double delayInSeconds, double?maxExtraErrorDelayInSeconds = null)
            where TOptions : class, ILiveState.IOptions
        {
            var o = new UpdateDelayer.Options()
            {
                Delay = TimeSpan.FromSeconds(delayInSeconds)
            };

            if (maxExtraErrorDelayInSeconds.HasValue)
            {
                o.MaxExtraErrorDelay = TimeSpan.FromSeconds(maxExtraErrorDelayInSeconds.GetValueOrDefault());
            }
            return(options.WithUpdateDelayer(o));
        }
コード例 #3
0
        public static TOptions WithUpdateDelayer <TOptions>(
            this TOptions options,
            TimeSpan delay, TimeSpan?maxExtraErrorDelay = null)
            where TOptions : class, ILiveState.IOptions
        {
            var o = new UpdateDelayer.Options()
            {
                Delay = delay
            };

            if (maxExtraErrorDelay.HasValue)
            {
                o.MaxExtraErrorDelay = maxExtraErrorDelay.GetValueOrDefault();
            }
            return(options.WithUpdateDelayer(o));
        }
コード例 #4
0
 public static TOptions WithUpdateDelayer <TOptions>(this TOptions options, UpdateDelayer.Options updateDelayerOptions)
     where TOptions : class, ILiveState.IOptions
 {
     options.UpdateDelayerFactory = _ => new UpdateDelayer(updateDelayerOptions);
     return(options);
 }