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(placementPolicy.Selectors.Select(selector => selector.ToModel()).ToList()), new System.Collections.ObjectModel.Collection(placementPolicy.Filters.Select(filter => filter.ToModel()).ToList()), placementPolicy.Replicas.Select(replica => replica.ToModel()).ToArray() ); } }