private void CreateRateLimiters() { var downloader = new RateLimiter(); DownloadLimiter = new RateLimiterGroup(); DownloadLimiter.Add(new PauseLimiter(this)); DownloadLimiter.Add(downloader); var uploader = new RateLimiter(); UploadLimiter = new RateLimiterGroup(); UploadLimiter.Add(new PauseLimiter(this)); UploadLimiter.Add(uploader); }
private void CreateRateLimiters() { var downloader = new RateLimiter(); _downloadLimiter = new RateLimiterGroup(); _downloadLimiter.Add(new DiskWriterLimiter(DiskManager)); _downloadLimiter.Add(downloader); var uploader = new RateLimiter(); _uploadLimiter = new RateLimiterGroup(); _downloadLimiter.Add(new DiskWriterLimiter(DiskManager)); _uploadLimiter.Add(uploader); MainLoop.QueueTimeout(TimeSpan.FromSeconds(1), delegate { downloader.UpdateChunks(Settings.GlobalMaxDownloadSpeed, TotalDownloadSpeed); uploader.UpdateChunks(Settings.GlobalMaxUploadSpeed, TotalUploadSpeed); return(!Disposed); }); }