forked from TrueCloudLab/frostfs-sdk-go
[#344] netmap: Add method Clone
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
This commit is contained in:
parent
f70c0c9081
commit
749b4e9ab5
6 changed files with 141 additions and 0 deletions
|
@ -96,6 +96,21 @@ func (m NetMap) Epoch() uint64 {
|
|||
return m.epoch
|
||||
}
|
||||
|
||||
// Clone returns a copy of NetMap.
|
||||
func (m *NetMap) Clone() *NetMap {
|
||||
if m == nil {
|
||||
return nil
|
||||
}
|
||||
dst := NetMap{
|
||||
epoch: m.epoch,
|
||||
nodes: make([]NodeInfo, len(m.nodes)),
|
||||
}
|
||||
for i, node := range m.nodes {
|
||||
dst.nodes[i] = *node.Clone()
|
||||
}
|
||||
return &dst
|
||||
}
|
||||
|
||||
// nodes is a slice of NodeInfo instances needed for HRW sorting.
|
||||
type nodes []NodeInfo
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue