forked from TrueCloudLab/frostfs-api-go
[#255] pkg/netmap: Move common substring of well-known attributes to prefix
Rename `PriceAttr` constant to `AttrPrice`. Rename `CapacityAttr` constant to `AttrCapacity`. Add documentation to both of them. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
783c323d95
commit
8254da2890
3 changed files with 20 additions and 15 deletions
|
@ -115,9 +115,9 @@ func (c *Context) matchKeyValue(f *Filter, b *Node) bool {
|
||||||
var attr uint64
|
var attr uint64
|
||||||
|
|
||||||
switch f.Key() {
|
switch f.Key() {
|
||||||
case PriceAttr:
|
case AttrPrice:
|
||||||
attr = b.Price
|
attr = b.Price
|
||||||
case CapacityAttr:
|
case AttrCapacity:
|
||||||
attr = b.Capacity
|
attr = b.Capacity
|
||||||
default:
|
default:
|
||||||
var err error
|
var err error
|
||||||
|
|
|
@ -44,8 +44,13 @@ const (
|
||||||
|
|
||||||
// Enumeration of well-known attributes.
|
// Enumeration of well-known attributes.
|
||||||
const (
|
const (
|
||||||
CapacityAttr = "Capacity"
|
// AttrPrice is a key to the node attribute that indicates the
|
||||||
PriceAttr = "Price"
|
// price in GAS tokens for storing one GB of data during one Epoch.
|
||||||
|
AttrPrice = "Price"
|
||||||
|
|
||||||
|
// AttrCapacity is a key to the node attribute that indicates the
|
||||||
|
// total available disk space in Gigabytes.
|
||||||
|
AttrCapacity = "Capacity"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ hrw.Hasher = (*Node)(nil)
|
var _ hrw.Hasher = (*Node)(nil)
|
||||||
|
@ -77,9 +82,9 @@ func newNodeV2(index int, ni *NodeInfo) *Node {
|
||||||
|
|
||||||
for _, attr := range ni.Attributes() {
|
for _, attr := range ni.Attributes() {
|
||||||
switch attr.Key() {
|
switch attr.Key() {
|
||||||
case CapacityAttr:
|
case AttrCapacity:
|
||||||
n.Capacity, _ = strconv.ParseUint(attr.Value(), 10, 64)
|
n.Capacity, _ = strconv.ParseUint(attr.Value(), 10, 64)
|
||||||
case PriceAttr:
|
case AttrPrice:
|
||||||
n.Price, _ = strconv.ParseUint(attr.Value(), 10, 64)
|
n.Price, _ = strconv.ParseUint(attr.Value(), 10, 64)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -303,15 +303,15 @@ func TestPlacementPolicy_ProcessSelectorsHRW(t *testing.T) {
|
||||||
|
|
||||||
// bucket weight order: RU > DE > FR
|
// bucket weight order: RU > DE > FR
|
||||||
nodes := []NodeInfo{
|
nodes := []NodeInfo{
|
||||||
nodeInfoFromAttributes("Country", "Germany", PriceAttr, "2", CapacityAttr, "10000"),
|
nodeInfoFromAttributes("Country", "Germany", AttrPrice, "2", AttrCapacity, "10000"),
|
||||||
nodeInfoFromAttributes("Country", "Germany", PriceAttr, "4", CapacityAttr, "1"),
|
nodeInfoFromAttributes("Country", "Germany", AttrPrice, "4", AttrCapacity, "1"),
|
||||||
nodeInfoFromAttributes("Country", "France", PriceAttr, "3", CapacityAttr, "10"),
|
nodeInfoFromAttributes("Country", "France", AttrPrice, "3", AttrCapacity, "10"),
|
||||||
nodeInfoFromAttributes("Country", "Russia", PriceAttr, "2", CapacityAttr, "10000"),
|
nodeInfoFromAttributes("Country", "Russia", AttrPrice, "2", AttrCapacity, "10000"),
|
||||||
nodeInfoFromAttributes("Country", "Russia", PriceAttr, "1", CapacityAttr, "10000"),
|
nodeInfoFromAttributes("Country", "Russia", AttrPrice, "1", AttrCapacity, "10000"),
|
||||||
nodeInfoFromAttributes("Country", "Russia", CapacityAttr, "10000"),
|
nodeInfoFromAttributes("Country", "Russia", AttrCapacity, "10000"),
|
||||||
nodeInfoFromAttributes("Country", "France", PriceAttr, "100", CapacityAttr, "1"),
|
nodeInfoFromAttributes("Country", "France", AttrPrice, "100", AttrCapacity, "1"),
|
||||||
nodeInfoFromAttributes("Country", "France", PriceAttr, "7", CapacityAttr, "10000"),
|
nodeInfoFromAttributes("Country", "France", AttrPrice, "7", AttrCapacity, "10000"),
|
||||||
nodeInfoFromAttributes("Country", "Russia", PriceAttr, "2", CapacityAttr, "1"),
|
nodeInfoFromAttributes("Country", "Russia", AttrPrice, "2", AttrCapacity, "1"),
|
||||||
}
|
}
|
||||||
nm, err := NewNetmap(NodesFromInfo(nodes))
|
nm, err := NewNetmap(NodesFromInfo(nodes))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
Loading…
Reference in a new issue