AzureFilesClientConfiguration
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.Serialization;
namespace Relativity.Transfer.AzureFiles
{
[Serializable]
[SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = "The name is more appropriate for its usage.")]
public class AzureFilesClientConfiguration : ClientConfiguration
{
public const int DefaultDmlBlockSize = 4194304;
[ConfigurationDoc("azure-files-share-name", "The Azure Files share name.")]
public string {
get {
return this.GetStringValue("azure-files-share-name", string.Empty);
}
set {
base["azure-files-share-name"] = value;
}
}
[ConfigurationDoc("dml-block-size", "The Data Movement Library (DML) block size to use for Windows Azure Storage transfers to file share(s). It must be between 4MB and 100MB and be multiple of 4MB.", 4194304)]
public int DmlBlockSize {
get {
return this.GetInt32Value("dml-block-size", 4194304);
}
set {
base["dml-block-size"] = value;
}
}
[ConfigurationDoc("dml-parallel-operations", "The Data Movement Library (DML) total number of work items to process concurrently. Downloading or uploading a single file can consist of a large number of work items.", "Environment.ProcessorCount")]
public int DmlParallelOperations {
get {
return this.GetInt32Value("dml-parallel-operations", Environment.ProcessorCount * 8);
}
set {
base["dml-parallel-operations"] = value;
}
}
[ConfigurationDoc("azure-storage-account-connection-string", "The Azure storage account connection string.")]
public string StorageAccountConnectionString {
get {
return this.GetStringValue("azure-storage-account-connection-string", string.Empty);
}
set {
base["azure-storage-account-connection-string"] = value;
}
}
public AzureFilesClientConfiguration()
{
Initialize();
}
public AzureFilesClientConfiguration(IDictionary<string, object> properties)
{
Initialize();
Copy(properties);
}
protected AzureFilesClientConfiguration(SerializationInfo info, StreamingContext context)
: base(info, context)
{
Initialize();
}
private void Initialize()
{
base.ClientId = new Guid("302B33BB-1CC5-4901-B1CD-78D755986E7A");
base.Client = WellKnownTransferClient.AzureFiles;
DmlBlockSize = 4194304;
DmlParallelOperations = Environment.ProcessorCount * 8;
FileShareName = string.Empty;
StorageAccountConnectionString = string.Empty;
}
}
}