diff options
Diffstat (limited to 'weed/topology/topology_map.go')
| -rw-r--r-- | weed/topology/topology_map.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/weed/topology/topology_map.go b/weed/topology/topology_map.go index 769ba0e2a..7db11ea14 100644 --- a/weed/topology/topology_map.go +++ b/weed/topology/topology_map.go @@ -74,3 +74,18 @@ func (t *Topology) ToVolumeLocations() (volumeLocations []*master_pb.VolumeLocat } return } + +func (t *Topology) ToTopologyInfo() *master_pb.TopologyInfo { + m := &master_pb.TopologyInfo{ + Id: string(t.Id()), + VolumeCount: uint64(t.GetVolumeCount()), + MaxVolumeCount: uint64(t.GetMaxVolumeCount()), + FreeVolumeCount: uint64(t.FreeSpace()), + ActiveVolumeCount: uint64(t.GetActiveVolumeCount()), + } + for _, c := range t.Children() { + dc := c.(*DataCenter) + m.DataCenterInfos = append(m.DataCenterInfos, dc.ToDataCenterInfo()) + } + return m +} |
