<PackageReference Include="Relativity.Transfer.Client" Version="7.2.7" />

AsperaConfBuilder

using System; using System.Diagnostics; using System.Text; namespace Relativity.Transfer.Aspera { internal class AsperaConfBuilder { private readonly AsperaRuntimePaths paths; public AsperaConfBuilder(AsperaRuntimePaths paths) { if (paths == null) throw new ArgumentNullException("paths"); this.paths = paths; } public void Build(AsperaClientConfiguration configuration) { if (configuration == null) throw new ArgumentNullException("configuration"); IFileSystemService service = ServiceObjectLocator.GetService<IFileSystemService>(); paths.AsperaConfigFile = service.Combine(paths.EtcDirectory, "aspera.conf"); StringBuilder stringBuilder = new StringBuilder("\r\n<?xml version='1.0' encoding='UTF-8'?>\r\n<CONF version=\"2\">\r\n <default>\r\n <file_system>\r\n <meta_threads><@MetaThreadCount></meta_threads>\r\n <write_threads><@WriteThreadCount></write_threads>\r\n <scan_threads><@ScanThreadCount></scan_threads>\r\n <read_threads><@ReadThreadCount></read_threads>\r\n <resume_suffix><@ResumeSuffix></resume_suffix>\r\n </file_system>\r\n </default>\r\n</CONF>"); StringBuilder stringBuilder2 = stringBuilder; int num = configuration.MetaThreadCount; stringBuilder2.Replace("<@MetaThreadCount>", num.ToString()); StringBuilder stringBuilder3 = stringBuilder; num = configuration.WriteThreadCount; stringBuilder3.Replace("<@WriteThreadCount>", num.ToString()); StringBuilder stringBuilder4 = stringBuilder; num = configuration.ScanThreadCount; stringBuilder4.Replace("<@ScanThreadCount>", num.ToString()); StringBuilder stringBuilder5 = stringBuilder; num = configuration.ReadThreadCount; stringBuilder5.Replace("<@ReadThreadCount>", num.ToString()); stringBuilder.Replace("<@ResumeSuffix>", configuration.ResumeSuffix); paths.Create(); string text = stringBuilder.ToString().Trim(); if (service.FileExists(paths.AsperaConfigFile)) { string text2 = service.ReadAllText(paths.AsperaConfigFile); if (!string.IsNullOrEmpty(text2)) text2 = text2.Trim(); if (string.Compare(text2, text, StringComparison.OrdinalIgnoreCase) == 0) return; } try { service.WriteAllText(paths.AsperaConfigFile, text); } catch (Exception arg) { Debug.WriteLine("Failed to over-write the existing Aspera configuration file. Error: " + arg); } } } }