25 lines
No EOL
879 B
C#
25 lines
No EOL
879 B
C#
using System;
|
|
using System.Linq;
|
|
|
|
using FrostFS.Netmap;
|
|
|
|
namespace FrostFS.SDK.Client;
|
|
|
|
public static class PlacementPolicyMapper
|
|
{
|
|
public static FrostFsPlacementPolicy ToModel(this PlacementPolicy placementPolicy)
|
|
{
|
|
if (placementPolicy is null)
|
|
{
|
|
throw new ArgumentNullException(nameof(placementPolicy));
|
|
}
|
|
|
|
return new FrostFsPlacementPolicy(
|
|
placementPolicy.Unique,
|
|
placementPolicy.ContainerBackupFactor,
|
|
new System.Collections.ObjectModel.Collection<FrostFsSelector>(placementPolicy.Selectors.Select(selector => selector.ToModel()).ToList()),
|
|
new System.Collections.ObjectModel.Collection<FrostFsFilter>(placementPolicy.Filters.Select(filter => filter.ToModel()).ToList()),
|
|
placementPolicy.Replicas.Select(replica => replica.ToModel()).ToArray()
|
|
);
|
|
}
|
|
} |