Пример #1
0
 public PeersCluster(AppInfo appInfo, IPeerRegistry peerRegistry, HttpApiClient client, IPackageRegistry packageRegistry, PackageDownloadManager packageDownloadManager)
 {
     this.appInfo                = appInfo ?? throw new ArgumentNullException(nameof(appInfo));
     this.peerRegistry           = peerRegistry ?? throw new ArgumentNullException(nameof(peerRegistry));
     this.client                 = client ?? throw new ArgumentNullException(nameof(client));
     this.packageRegistry        = packageRegistry ?? throw new ArgumentNullException(nameof(packageRegistry));
     this.packageDownloadManager = packageDownloadManager ?? throw new ArgumentNullException(nameof(packageDownloadManager));
     statusUpdateTimer           = new Timer(StatusUpdateTimerCallback, null, TimeSpan.Zero, TimeSpan.Zero);
     uploadSlots                 = appInfo.NetworkSettings.MaximumUploadsSlots;
     logger = appInfo.LoggerFactory.CreateLogger <PeersCluster>();
     peerRegistry.PeersChanged += PeerRegistry_PeersChanged;
     packageRegistry.NewLocalPackageCreated      += PackageRegistry_NewLocalPackageCreated;
     packageRegistry.LocalPackageDeleted         += PackageRegistry_LocalPackageDeleted;
     packageDownloadManager.DownloadStatusChange += PackageDownloadManager_DownloadStatusChange;
 }
 public PackageDownloadSlot(PackageDownloadManager parent, LocalPackageInfo package, PeerInfo peer)
 {
     this.parent  = parent ?? throw new ArgumentNullException(nameof(parent));
     this.package = package ?? throw new ArgumentNullException(nameof(package));
     this.peer    = peer ?? throw new ArgumentNullException(nameof(peer));
 }