func (p *Persistor) LoadServiceRegistry(name string) *ServiceRegistry.ServiceRegistry { log.Printf("[Persistor] Loading a service registry called [%v]\n", name) c := p.getRedis() srBytes := c.Get(fmt.Sprintf("serviceregistry-%v", name)) buf := bytes.NewBuffer([]byte(srBytes.Val())) dec := gob.NewDecoder(buf) sr := new(ServiceRegistry.ServiceRegistry) dec.Decode(sr) sr.Name = name // Reconnect the up-tree references for _, value := range sr.Services { value.SetServiceRegistry(sr) } return sr }