forked from TrueCloudLab/frostfs-api-go
[#134] v2/netmap: Update unified structures
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
parent
505ef59dd6
commit
148618b5b3
4 changed files with 824 additions and 15 deletions
|
@ -1,13 +1,39 @@
|
|||
package netmap
|
||||
|
||||
type Filter struct {
|
||||
name string
|
||||
key string
|
||||
op Operation
|
||||
value string
|
||||
filters []*Filter
|
||||
}
|
||||
|
||||
type Selector struct {
|
||||
name string
|
||||
count uint32
|
||||
attribute string
|
||||
filter string
|
||||
}
|
||||
|
||||
type Replica struct {
|
||||
count uint32
|
||||
selector string
|
||||
}
|
||||
|
||||
type Operation uint32
|
||||
|
||||
type PlacementPolicy struct {
|
||||
// TODO: fill me
|
||||
replicas []*Replica
|
||||
backupFactor uint32
|
||||
selectors []*Selector
|
||||
filters []*Filter
|
||||
}
|
||||
|
||||
// Attribute of storage node.
|
||||
type Attribute struct {
|
||||
key string
|
||||
value string
|
||||
key string
|
||||
value string
|
||||
parents []string
|
||||
}
|
||||
|
||||
// NodeInfo of storage node.
|
||||
|
@ -15,17 +41,234 @@ type NodeInfo struct {
|
|||
publicKey []byte
|
||||
address string
|
||||
attributes []*Attribute
|
||||
state NodeState
|
||||
}
|
||||
|
||||
// NodeState of storage node.
|
||||
type NodeState uint32
|
||||
|
||||
const (
|
||||
Unspecified NodeState = iota
|
||||
UnspecifiedState NodeState = iota
|
||||
Online
|
||||
Offline
|
||||
)
|
||||
|
||||
const (
|
||||
UnspecifiedOperation Operation = iota
|
||||
EQ
|
||||
NE
|
||||
GT
|
||||
GE
|
||||
LT
|
||||
LE
|
||||
OR
|
||||
AND
|
||||
)
|
||||
|
||||
func (f *Filter) GetFilters() []*Filter {
|
||||
if f != nil {
|
||||
return f.filters
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (f *Filter) SetFilters(filters []*Filter) {
|
||||
if f != nil {
|
||||
f.filters = filters
|
||||
}
|
||||
}
|
||||
|
||||
func (f *Filter) GetValue() string {
|
||||
if f != nil {
|
||||
return f.value
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
|
||||
func (f *Filter) SetValue(value string) {
|
||||
if f != nil {
|
||||
f.value = value
|
||||
}
|
||||
}
|
||||
|
||||
func (f *Filter) GetOp() Operation {
|
||||
if f != nil {
|
||||
return f.op
|
||||
}
|
||||
return UnspecifiedOperation
|
||||
}
|
||||
|
||||
func (f *Filter) SetOp(op Operation) {
|
||||
if f != nil {
|
||||
f.op = op
|
||||
}
|
||||
}
|
||||
|
||||
func (f *Filter) GetKey() string {
|
||||
if f != nil {
|
||||
return f.key
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
|
||||
func (f *Filter) SetKey(key string) {
|
||||
if f != nil {
|
||||
f.key = key
|
||||
}
|
||||
}
|
||||
|
||||
func (f *Filter) GetName() string {
|
||||
if f != nil {
|
||||
return f.name
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
|
||||
func (f *Filter) SetName(name string) {
|
||||
if f != nil {
|
||||
f.name = name
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Selector) GetFilter() string {
|
||||
if s != nil {
|
||||
return s.filter
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
|
||||
func (s *Selector) SetFilter(filter string) {
|
||||
if s != nil {
|
||||
s.filter = filter
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Selector) GetAttribute() string {
|
||||
if s != nil {
|
||||
return s.attribute
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
|
||||
func (s *Selector) SetAttribute(attribute string) {
|
||||
if s != nil {
|
||||
s.attribute = attribute
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Selector) GetCount() uint32 {
|
||||
if s != nil {
|
||||
return s.count
|
||||
}
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
func (s *Selector) SetCount(count uint32) {
|
||||
if s != nil {
|
||||
s.count = count
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Selector) GetName() string {
|
||||
if s != nil {
|
||||
return s.name
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
|
||||
func (s *Selector) SetName(name string) {
|
||||
if s != nil {
|
||||
s.name = name
|
||||
}
|
||||
}
|
||||
|
||||
func (r *Replica) GetSelector() string {
|
||||
if r != nil {
|
||||
return r.selector
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
|
||||
func (r *Replica) SetSelector(selector string) {
|
||||
if r != nil {
|
||||
r.selector = selector
|
||||
}
|
||||
}
|
||||
|
||||
func (r *Replica) GetCount() uint32 {
|
||||
if r != nil {
|
||||
return r.count
|
||||
}
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
func (r *Replica) SetCount(count uint32) {
|
||||
if r != nil {
|
||||
r.count = count
|
||||
}
|
||||
}
|
||||
|
||||
func (p *PlacementPolicy) GetFilters() []*Filter {
|
||||
if p != nil {
|
||||
return p.filters
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *PlacementPolicy) SetFilters(filters []*Filter) {
|
||||
if p != nil {
|
||||
|
||||
}
|
||||
p.filters = filters
|
||||
}
|
||||
|
||||
func (p *PlacementPolicy) GetSelectors() []*Selector {
|
||||
if p != nil {
|
||||
return p.selectors
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *PlacementPolicy) SetSelectors(selectors []*Selector) {
|
||||
if p != nil {
|
||||
p.selectors = selectors
|
||||
}
|
||||
}
|
||||
|
||||
func (p *PlacementPolicy) GetContainerBackupFactor() uint32 {
|
||||
if p != nil {
|
||||
return p.backupFactor
|
||||
}
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
func (p *PlacementPolicy) SetContainerBackupFactor(backupFactor uint32) {
|
||||
if p != nil {
|
||||
p.backupFactor = backupFactor
|
||||
}
|
||||
}
|
||||
|
||||
func (p *PlacementPolicy) GetReplicas() []*Replica {
|
||||
return p.replicas
|
||||
}
|
||||
|
||||
func (p *PlacementPolicy) SetReplicas(replicas []*Replica) {
|
||||
p.replicas = replicas
|
||||
}
|
||||
|
||||
func (a *Attribute) GetKey() string {
|
||||
if a != nil {
|
||||
return a.key
|
||||
|
@ -54,6 +297,20 @@ func (a *Attribute) SetValue(v string) {
|
|||
}
|
||||
}
|
||||
|
||||
func (a *Attribute) GetParents() []string {
|
||||
if a != nil {
|
||||
return a.parents
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *Attribute) SetParents(parent []string) {
|
||||
if a != nil {
|
||||
a.parents = parent
|
||||
}
|
||||
}
|
||||
|
||||
func (ni *NodeInfo) GetPublicKey() []byte {
|
||||
if ni != nil {
|
||||
return ni.publicKey
|
||||
|
@ -95,3 +352,17 @@ func (ni *NodeInfo) SetAttributes(v []*Attribute) {
|
|||
ni.attributes = v
|
||||
}
|
||||
}
|
||||
|
||||
func (ni *NodeInfo) GetState() NodeState {
|
||||
if ni != nil {
|
||||
return ni.state
|
||||
}
|
||||
|
||||
return UnspecifiedState
|
||||
}
|
||||
|
||||
func (ni *NodeInfo) SetState(state NodeState) {
|
||||
if ni != nil {
|
||||
ni.state = state
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue