2021-01-29 00:04:36 +00:00
|
|
|
package placementrouter
|
|
|
|
|
|
|
|
import (
|
2023-03-07 13:38:26 +00:00
|
|
|
cid "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/container/id"
|
|
|
|
"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/netmap"
|
2021-01-29 00:04:36 +00:00
|
|
|
)
|
|
|
|
|
2023-02-05 15:59:38 +00:00
|
|
|
// PlacementBuilder describes interface of FrostFS placement calculator.
|
2021-01-29 00:04:36 +00:00
|
|
|
type PlacementBuilder interface {
|
|
|
|
// BuildPlacement must compose and sort (according to a specific algorithm)
|
2022-05-31 17:00:41 +00:00
|
|
|
// storage nodes from the container by its identifier using network map
|
2021-01-29 00:04:36 +00:00
|
|
|
// of particular epoch.
|
2022-06-08 23:18:26 +00:00
|
|
|
BuildPlacement(epoch uint64, cnr cid.ID) ([][]netmap.NodeInfo, error)
|
2021-01-29 00:04:36 +00:00
|
|
|
}
|