using System; using System.Linq; namespace FrostFS.SDK; public class FrostFsPlacementPolicy(bool unique, params FrostFsReplica[] replicas) : IComparable { public FrostFsReplica[] Replicas { get; private set; } = replicas; public bool Unique { get; private set; } = unique; public int CompareTo(FrostFsPlacementPolicy other) { var notEqual = other == null || Unique != other.Unique || Replicas.Length != other.Replicas.Length; if (notEqual) return 1; foreach (var replica in Replicas) { if (!other!.Replicas.Any(r => r.Count == replica.Count && r.Selector == replica.Selector)) return 1; } return 0; } }