Exemple #1
0
 /// <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();
 }