using System; namespace FrostFS.SDK.ClientV2.Parameters; public class PrmWait(TimeSpan timeout, TimeSpan pollInterval) { private static TimeSpan DefaultTimeout = TimeSpan.FromSeconds(120); private static TimeSpan DefaultPollInterval = TimeSpan.FromSeconds(5); public PrmWait(int timeout, int interval) : this(TimeSpan.FromSeconds(timeout), TimeSpan.FromSeconds(interval)) { } public static PrmWait DefaultParams { get; } = new PrmWait(DefaultTimeout, DefaultPollInterval); public TimeSpan Timeout { get; set; } = timeout.Ticks == 0 ? DefaultTimeout : timeout; public TimeSpan PollInterval { get; set; } = pollInterval.Ticks == 0 ? DefaultPollInterval : pollInterval; public DateTime GetDeadline() { return DateTime.UtcNow.AddTicks(Timeout.Ticks); } }