func loop(receiverChannel chan *client.Response, env src.Env) { for response := range receiverChannel { key := env.NakedKey(response.Node.Key, *env.EtcdDir) parts := strings.Split(key, "/") env.UpdateData(parts, response.Node.Value, response.Action, env.Data) log.Printf("[CHANGE]: %s %s %s", response.Action, key, response.Node.Value) env.Cycle() } }