/// <summary> /// Add logger to package file provider. /// </summary> /// <param name="fileProvider"></param> /// <param name="logger">(optional) logger</param> /// <param name="logLevel"></param> /// <returns></returns> public static IObservablePackageFileProvider AddLogger(this IObservablePackageFileProvider fileProvider, ILogger logger, LogLevel logLevel) { if (logger != null) { fileProvider.Subscribe(new PackageEventLogger(logger, logLevel)); } return(fileProvider); }
public EvictTimer(IObservablePackageFileProvider fileProvider, Func <TimeSpan> expiration, Func <TimeSpan> checkInterval) { this.fileProvider = fileProvider ?? throw new ArgumentNullException(nameof(fileProvider)); this.expirationFunc = expiration ?? throw new ArgumentNullException(nameof(expiration)); this.checkIntervalFunc = checkInterval ?? throw new ArgumentNullException(nameof(checkInterval)); checkFunc = OnTimer; checkFunc2 = () => OnTimer(null); }
/// <summary> /// Create evict timer. /// </summary> /// <param name="fileProvider"></param> /// <param name="expiration">time tolerated of inactivity</param> /// <param name="checkInterval">check interval.</param> public EvictTimer(IObservablePackageFileProvider fileProvider, TimeSpan expiration, TimeSpan checkInterval) : this(fileProvider, () => expiration, () => checkInterval) { }
public void Dispose() { disposed = 1L; fileProvider = null; cancelSrc.Dispose(); }