Lines Matching refs:dr
32 func (dr *domainRenewal) start(exp time.Time) {
33 dr.timerMu.Lock()
34 defer dr.timerMu.Unlock()
35 if dr.timer != nil {
38 dr.timer = time.AfterFunc(dr.next(exp), dr.renew)
43 func (dr *domainRenewal) stop() {
44 dr.timerMu.Lock()
45 defer dr.timerMu.Unlock()
46 if dr.timer == nil {
49 dr.timer.Stop()
50 dr.timer = nil
55 func (dr *domainRenewal) renew() {
56 dr.timerMu.Lock()
57 defer dr.timerMu.Unlock()
58 if dr.timer == nil {
65 next, err := dr.do(ctx)
70 dr.timer = time.AfterFunc(next, dr.renew)
76 func (dr *domainRenewal) updateState(state *certState) {
77 dr.m.stateMu.Lock()
78 defer dr.m.stateMu.Unlock()
79 dr.key = state.key
80 dr.m.state[dr.ck] = state
91 func (dr *domainRenewal) do(ctx context.Context) (time.Duration, error) {
94 if tlscert, err := dr.m.cacheGet(ctx, dr.ck); err == nil {
95 next := dr.next(tlscert.Leaf.NotAfter)
96 if next > dr.m.renewBefore()+renewJitter {
104 dr.updateState(state)
110 der, leaf, err := dr.m.authorizedCert(ctx, dr.key, dr.ck)
115 key: dr.key,
123 if err := dr.m.cachePut(ctx, dr.ck, tlscert); err != nil {
126 dr.updateState(state)
127 return dr.next(leaf.NotAfter), nil
130 func (dr *domainRenewal) next(expiry time.Time) time.Duration {
131 d := expiry.Sub(dr.m.now()) - dr.m.renewBefore()