//TellUpdate makes mynode info from node or dnsname or ip addr, //and broadcast the updates of record id=id in cache c.datfile with stamp. func TellUpdate(datfile string, stamp int64, id string, n *node.Node) { const updateNodes = 10 tellstr := node.Me(true).Toxstring() if n != nil { tellstr = n.Toxstring() } msg := strings.Join([]string{"/update", datfile, strconv.FormatInt(stamp, 10), id, tellstr}, "/") ns := Get(datfile, nil) ns = ns.Extend(Get(list, nil)) ns = ns.Extend(Random(ns, updateNodes)) log.Println("telling #", len(ns)) for _, n := range ns { _, err := n.Talk(msg, nil) if err != nil { log.Println(err) } } }