//setFromCache adds cache.datfile/timestamp pair if not exists. func setFromCache(tx *bolt.Tx, ca *thread.Cache) { _, err := getTime(tx, ca.Datfile) if err == nil { return } var firstStamp int64 rec := ca.LoadRecords(record.Alive) switch { case !ca.HasRecord(): firstStamp = ca.RecentStamp() case len(rec) > 0: firstStamp = rec[rec.Keys()[0]].Stamp default: firstStamp = time.Now().Add(-24 * time.Hour).Unix() } for { _, err = getThread(tx, firstStamp) if err != nil { break } firstStamp++ } setEntry(tx, firstStamp, ca.Datfile) }