// WriteBootstrapInfo implements the gossip.Storage interface. Write // persists the supplied bootstrap info to every known store. Returns // nil on success; otherwise returns first error encountered writing // to the stores. func (ls *Stores) WriteBootstrapInfo(bi *gossip.BootstrapInfo) error { ls.mu.RLock() defer ls.mu.RUnlock() bi.Timestamp = ls.clock.Now() if err := ls.updateBootstrapInfo(bi); err != nil { return err } ctx := ls.AnnotateCtx(context.TODO()) log.Infof(ctx, "wrote %d node addresses to persistent storage", len(bi.Addresses)) return nil }