diff --git a/client/container_statistic_test.go b/client/container_statistic_test.go index 89a6a978..5c4a3a72 100644 --- a/client/container_statistic_test.go +++ b/client/container_statistic_test.go @@ -127,7 +127,7 @@ func prepareContainer(accountID user.ID) container.Container { rd.SetNumberOfObjects(1) pp.SetContainerBackupFactor(1) - pp.AddReplicas(rd) + pp.SetReplicas([]netmap.ReplicaDescriptor{rd}) cont.SetPlacementPolicy(pp) return cont diff --git a/container/container_internal_test.go b/container/container_internal_test.go index aec3b9c5..e59eba93 100644 --- a/container/container_internal_test.go +++ b/container/container_internal_test.go @@ -30,15 +30,15 @@ func TestContainer_CopyTo(t *testing.T) { var rd netmap.ReplicaDescriptor rd.SetSelectorName("selector") rd.SetNumberOfObjects(100) - pp.AddReplicas(rd) + pp.SetReplicas([]netmap.ReplicaDescriptor{rd}) var f netmap.Filter f.SetName("filter") - pp.AddFilters(f) + pp.SetFilters([]netmap.Filter{f}) var s netmap.Selector s.SetName("selector") - pp.AddSelectors(s) + pp.SetSelectors([]netmap.Selector{s}) container.SetPlacementPolicy(pp) diff --git a/container/example_test.go b/container/example_test.go index 7e1d1da1..0046bb3b 100644 --- a/container/example_test.go +++ b/container/example_test.go @@ -36,7 +36,7 @@ func ExampleContainer_Init() { // placement policy and replicas definition is required var pp netmap.PlacementPolicy pp.SetContainerBackupFactor(1) - pp.AddReplicas(rd) + pp.SetReplicas([]netmap.ReplicaDescriptor{rd}) cnr.SetPlacementPolicy(pp) } diff --git a/netmap/helper_test.go b/netmap/helper_test.go index c283f472..0eff22af 100644 --- a/netmap/helper_test.go +++ b/netmap/helper_test.go @@ -28,9 +28,9 @@ func newSelector(name string, attr string, count uint32, filter string, clause f func newPlacementPolicy(bf uint32, rs []ReplicaDescriptor, ss []Selector, fs []Filter) (p PlacementPolicy) { p.SetContainerBackupFactor(bf) - p.AddReplicas(rs...) - p.AddSelectors(ss...) - p.AddFilters(fs...) + p.SetReplicas(rs) + p.SetSelectors(ss) + p.SetFilters(fs) return p } diff --git a/netmap/policy.go b/netmap/policy.go index 52bad44c..4275c522 100644 --- a/netmap/policy.go +++ b/netmap/policy.go @@ -234,23 +234,21 @@ func (r ReplicaDescriptor) SelectorName() string { return r.m.GetSelector() } -// AddReplicas adds a bunch object replica's characteristics. +// SetReplicas sets list of object replica's characteristics. // // See also [PlacementPolicy.Replicas], [PlacementPolicy.NumberOfReplicas], // [PlacementPolicy.ReplicaNumberByIndex]. -func (p *PlacementPolicy) AddReplicas(rs ...ReplicaDescriptor) { - off := len(p.replicas) - - p.replicas = append(p.replicas, make([]netmap.Replica, len(rs))...) +func (p *PlacementPolicy) SetReplicas(rs []ReplicaDescriptor) { + p.replicas = make([]netmap.Replica, len(rs)) for i := range rs { - p.replicas[off+i] = rs[i].m + p.replicas[i] = rs[i].m } } // Replicas returns list of object replica characteristics. // -// See also [PlacementPolicy.AddReplicas], [PlacementPolicy.NumberOfReplicas], +// See also [PlacementPolicy.SetReplicas], [PlacementPolicy.NumberOfReplicas], // [PlacementPolicy.ReplicaNumberByIndex]. func (p PlacementPolicy) Replicas() []ReplicaDescriptor { rs := make([]ReplicaDescriptor, len(p.replicas)) @@ -260,7 +258,7 @@ func (p PlacementPolicy) Replicas() []ReplicaDescriptor { return rs } -// NumberOfReplicas returns number of replica descriptors set using AddReplicas. +// NumberOfReplicas returns number of replica descriptors set using SetReplicas. // // Zero PlacementPolicy has no replicas which is incorrect according to the // NeoFS API protocol. @@ -408,19 +406,17 @@ func (s *Selector) FilterName() string { return s.m.GetFilter() } -// AddSelectors adds a Selector bunch to form the subset of the nodes -// to store container objects. +// SetSelectors sets list of Selector to form the subset of the nodes to store +// container objects. // // Zero PlacementPolicy does not declare selectors. // // See also [PlacementPolicy.Selectors]. -func (p *PlacementPolicy) AddSelectors(ss ...Selector) { - off := len(p.selectors) - - p.selectors = append(p.selectors, make([]netmap.Selector, len(ss))...) +func (p *PlacementPolicy) SetSelectors(ss []Selector) { + p.selectors = make([]netmap.Selector, len(ss)) for i := range ss { - p.selectors[off+i] = ss[i].m + p.selectors[i] = ss[i].m } } @@ -429,7 +425,7 @@ func (p *PlacementPolicy) AddSelectors(ss ...Selector) { // // Zero PlacementPolicy does not declare selectors. // -// See also [PlacementPolicy.AddSelectors]. +// See also [PlacementPolicy.SetSelectors]. func (p PlacementPolicy) Selectors() []Selector { ss := make([]Selector, len(p.selectors)) for i := range p.selectors { @@ -582,7 +578,7 @@ func (x *Filter) LogicalAND(filters ...Filter) { // // Zero PlacementPolicy has no filters. // -// See also [PlacementPolicy.AddFilters]. +// See also [PlacementPolicy.SetFilters]. func (p PlacementPolicy) Filters() []Filter { fs := make([]Filter, len(p.filters)) for i := range p.filters { @@ -591,18 +587,16 @@ func (p PlacementPolicy) Filters() []Filter { return fs } -// AddFilters adds a Filter bunch that will be applied when selecting nodes. +// SetFilters sets list of Filter that will be applied when selecting nodes. // // Zero PlacementPolicy has no filters. // // See also [PlacementPolicy.Filters]. -func (p *PlacementPolicy) AddFilters(fs ...Filter) { - off := len(p.filters) - - p.filters = append(p.filters, make([]netmap.Filter, len(fs))...) +func (p *PlacementPolicy) SetFilters(fs []Filter) { + p.filters = make([]netmap.Filter, len(fs)) for i := range fs { - p.filters[off+i] = fs[i].m + p.filters[i] = fs[i].m } } diff --git a/netmap/policy_internal_test.go b/netmap/policy_internal_test.go index a07706dc..9c48fad9 100644 --- a/netmap/policy_internal_test.go +++ b/netmap/policy_internal_test.go @@ -15,15 +15,15 @@ func TestPlacementPolicy_CopyTo(t *testing.T) { var rd ReplicaDescriptor rd.SetSelectorName("selector") rd.SetNumberOfObjects(100) - pp.AddReplicas(rd) + pp.SetReplicas([]ReplicaDescriptor{rd}) var f Filter f.SetName("filter") - pp.AddFilters(f) + pp.SetFilters([]Filter{f}) var s Selector s.SetName("selector") - pp.AddSelectors(s) + pp.SetSelectors([]Selector{s}) t.Run("copy", func(t *testing.T) { var dst PlacementPolicy @@ -57,7 +57,7 @@ func TestPlacementPolicy_CopyTo(t *testing.T) { topFilter.setInnerFilters(netmap.EQ, []Filter{includedFilter}) var policy PlacementPolicy - policy.AddFilters(topFilter) + policy.SetFilters([]Filter{topFilter}) var dst PlacementPolicy policy.CopyTo(&dst) diff --git a/netmap/policy_test.go b/netmap/policy_test.go index 05f938fd..edab0b45 100644 --- a/netmap/policy_test.go +++ b/netmap/policy_test.go @@ -100,7 +100,7 @@ func TestPlacementPolicy_Replicas(t *testing.T) { r.SetNumberOfObjects(2) rs = append(rs, r) - p.AddReplicas(rs...) + p.SetReplicas(rs) require.Equal(t, rs, p.Replicas()) var m netmapv2.PlacementPolicy @@ -147,7 +147,7 @@ func TestPlacementPolicy_Selectors(t *testing.T) { s.SelectDistinct() ss = append(ss, s) - p.AddSelectors(ss...) + p.SetSelectors(ss) require.Equal(t, ss, p.Selectors()) var m netmapv2.PlacementPolicy @@ -228,7 +228,7 @@ func TestPlacementPolicy_Filters(t *testing.T) { f.LogicalAND(sub1, sub2) fs = append(fs, f) - p.AddFilters(fs...) + p.SetFilters(fs) require.Equal(t, fs, p.Filters()) var m netmapv2.PlacementPolicy diff --git a/netmap/test/generate.go b/netmap/test/generate.go index 9cfb37ac..a0b1fb6f 100644 --- a/netmap/test/generate.go +++ b/netmap/test/generate.go @@ -44,9 +44,9 @@ func Selector() (x netmap.Selector) { // PlacementPolicy returns random netmap.PlacementPolicy. func PlacementPolicy() (p netmap.PlacementPolicy) { p.SetContainerBackupFactor(9) - p.AddFilters(Filter(), Filter()) - p.AddReplicas(Replica(), Replica()) - p.AddSelectors(Selector(), Selector()) + p.SetFilters([]netmap.Filter{Filter(), Filter()}) + p.SetReplicas([]netmap.ReplicaDescriptor{Replica(), Replica()}) + p.SetSelectors([]netmap.Selector{Selector(), Selector()}) return } diff --git a/pool/pool_aio_test.go b/pool/pool_aio_test.go index 5d300961..8d5fd433 100644 --- a/pool/pool_aio_test.go +++ b/pool/pool_aio_test.go @@ -723,7 +723,7 @@ func testCreateContainer(ctx context.Context, t *testing.T, signer neofscrypto.S var pp netmap.PlacementPolicy pp.SetContainerBackupFactor(1) - pp.AddReplicas(rd) + pp.SetReplicas(rd) cont.SetPlacementPolicy(pp) diff --git a/waiter/example_waiter_test.go b/waiter/example_waiter_test.go index a6e58ae0..65157fb2 100644 --- a/waiter/example_waiter_test.go +++ b/waiter/example_waiter_test.go @@ -42,7 +42,7 @@ func ExampleNewWaiter() { // prepare placement policy. pp.SetContainerBackupFactor(1) rd.SetNumberOfObjects(1) - pp.AddReplicas(rd) + pp.SetReplicas([]netmap.ReplicaDescriptor{rd}) cont.SetPlacementPolicy(pp) // prepare pool.