code: func (c *Catalog) ListDatacenters(args *struct{}, reply *[]string) error {
  	dcs, err := c.srv.router.GetDatacentersByDistance()
  	if err != nil {
  		return err
  	}
  
  	if len(dcs) == 0 { // no WAN federation, so return the local data center name
  		dcs = []string{c.srv.config.Datacenter}
  	}
  
  	*reply = dcs
  	return nil
  }
docs: // ListDatacenters is used to query for the list of known datacenters