private bool AreDownloadsFinished() { bool downloadsComplete = GetCompletedDownloadsCount() >= m_RemoteFileMetadata.GetFileFragments().Count; return(downloadsComplete); }
/// <summary> /// Downloads a file that is fragmented into different URIs /// </summary> /// <param name="fileMetadata"></param> /// <param name="threadCount"></param> public void Download(RemoteFileMetadata fileMetadata, int threadCount) { Reset(); if (!fileMetadata.IsValid()) { return; } m_RemoteFileMetadata = fileMetadata; SetConnectionCount(fileMetadata.GetFileFragments().Count); SetThreadCount(threadCount); for (int i = 0; i < mThreadCount; ++i) { Thread t = new Thread(WorkerThread); mThreads.Add(t); t.Start(); } mStopwatch.Start(); }