/// <summary> /// /// </summary> /// <param name="manager"></param> /// <param name="cacheManager"></param> /// <param name="share"></param> /// <param name="basePaths">a list of base paths to exclude from full uri</param> public HyperRelayReader(HyperDownloadManager manager, UploadCacheManager cacheManager, IShare share, List <string> basePaths) { _manager = manager; _cacheManager = cacheManager; _share = share; _basePaths = basePaths; _share.TotalSharedChanged += _share_TotalSharedChanged; _updateTimer = new Timer(o => RebuildDictionary(), null, Timeout.Infinite, Timeout.Infinite); SegmentService = new MovingAverage(TimeSpan.FromSeconds(10)); SegmentsPerSecond = new SpeedAverage(TimeSpan.FromSeconds(10)); SegmentServiceProxy = new MovingAverage(TimeSpan.FromSeconds(10)); SegmentsPerSecondProxy = new SpeedAverage(TimeSpan.FromSeconds(10)); SegmentServiceCached = new MovingAverage(TimeSpan.FromSeconds(10)); SegmentsPerSecondCached = new SpeedAverage(TimeSpan.FromSeconds(10)); }
public void RegisterRelayStorage(HyperDownloadManager downloadManager, UploadCacheManager cacheManager, IShare share, List <string> baseList) { AddStorage(new HyperRelayReader(downloadManager, cacheManager, share, baseList)); Logger.Info($"Registered relay file storage {string.Join(", ", downloadManager.Sessions().Select(s => s.Server))}"); }