aboutsummaryrefslogtreecommitdiff
path: root/weed/topology/topology_map.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/topology/topology_map.go')
-rw-r--r--weed/topology/topology_map.go15
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
+}