// ReadAddrs returns a ZknsAddrs record from the given path in Zookeeper. func ReadAddrs(zconn zk.Conn, zkPath string) (*ZknsAddrs, error) { data, stat, err := zconn.Get(zkPath) if err != nil { return nil, err } // There are nodes that will have no data - for instance a subdomain node. if len(data) == 0 { return nil, nil } addrs := new(ZknsAddrs) err = json.Unmarshal([]byte(data), addrs) if err != nil { return nil, err } addrs.version = stat.Version() return addrs, nil }