forked from TrueCloudLab/frostfs-api-go
3a966ee5df
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
54 lines
1.1 KiB
Go
54 lines
1.1 KiB
Go
package netmap
|
|
|
|
import (
|
|
"github.com/nspcc-dev/neofs-api-go/v2/netmap"
|
|
)
|
|
|
|
// Clause is an enumeration of selector modifiers
|
|
// that shows how the node set will be formed.
|
|
type Clause uint32
|
|
|
|
const (
|
|
ClauseUnspecified Clause = iota
|
|
|
|
// ClauseSame is a selector modifier to select only nodes having the same value of bucket attribute.
|
|
ClauseSame
|
|
|
|
// ClauseDistinct is a selector modifier to select nodes having different values of bucket attribute.
|
|
ClauseDistinct
|
|
)
|
|
|
|
// ClauseFromV2 converts v2 Clause to Clause.
|
|
func ClauseFromV2(c netmap.Clause) Clause {
|
|
switch c {
|
|
default:
|
|
return ClauseUnspecified
|
|
case netmap.Same:
|
|
return ClauseSame
|
|
case netmap.Distinct:
|
|
return ClauseDistinct
|
|
}
|
|
}
|
|
|
|
// ToV2 converts Clause to v2 Clause.
|
|
func (c Clause) ToV2() netmap.Clause {
|
|
switch c {
|
|
default:
|
|
return netmap.UnspecifiedClause
|
|
case ClauseDistinct:
|
|
return netmap.Distinct
|
|
case ClauseSame:
|
|
return netmap.Same
|
|
}
|
|
}
|
|
|
|
func (c Clause) String() string {
|
|
switch c {
|
|
default:
|
|
return "CLAUSE_UNSPECIFIED"
|
|
case ClauseDistinct:
|
|
return "DISTINCT"
|
|
case ClauseSame:
|
|
return "SAME"
|
|
}
|
|
}
|