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;
});
}