1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-07-03 21:08:17 +08:00

publish ipns records on start

(after a delay of 1 minute)

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
This commit is contained in:
Steven Allen
2017-11-29 15:22:00 -08:00
parent febf21b0c7
commit d8de88c4b6

View File

@ -27,6 +27,7 @@ var errNoEntry = errors.New("no previous entry")
var log = logging.Logger("ipns-repub") var log = logging.Logger("ipns-repub")
var DefaultRebroadcastInterval = time.Hour * 4 var DefaultRebroadcastInterval = time.Hour * 4
var InitialRebroadcastDelay = time.Minute * 1
const DefaultRecordLifetime = time.Hour * 24 const DefaultRecordLifetime = time.Hour * 24
@ -57,10 +58,12 @@ func NewRepublisher(r routing.ValueStore, ds ds.Datastore, self ic.PrivKey, ks k
func (rp *Republisher) Run(proc goprocess.Process) { func (rp *Republisher) Run(proc goprocess.Process) {
tick := time.NewTicker(rp.Interval) tick := time.NewTicker(rp.Interval)
defer tick.Stop() defer tick.Stop()
delayCh := time.After(InitialRebroadcastDelay)
for { for {
select { select {
case <-tick.C: case <-delayCh:
delayCh = tick.C
err := rp.republishEntries(proc) err := rp.republishEntries(proc)
if err != nil { if err != nil {
log.Error("Republisher failed to republish: ", err) log.Error("Republisher failed to republish: ", err)