/// <summary> /// Fetch back all files we probably need to know about. /// </summary> /// <param name="sshConnection"></param> /// <param name="dumpLine"></param> private async Task ReceiveAllFiles(ISSHConnection connection, Action <string> dumpLine) { foreach (var f in _filesToBringBack) { string linuxPath = $"{f.remoteLinuxDirectory}/{f.localFileName.Name}"; dumpLine?.Invoke($"Copying {linuxPath} -> {f.localFileName.Directory}"); f.localFileName.Directory.Refresh(); if (!f.localFileName.Directory.Exists) { f.localFileName.Directory.Create(); } await connection.CopyRemoteFileLocallyAsync(linuxPath, f.localFileName); } _filesToBringBack.Clear(); }