lease: store server-decided TTL in lease

If actual TTL is not stored in lease, the client will receive the correct
TTL and therefore won't be able to keepalive correctly.
This commit is contained in:
Anthony Romano 2016-01-21 23:37:56 -08:00
parent 2b54c5a977
commit be7d573366

View File

@ -413,16 +413,17 @@ func (l Lease) removeFrom(b backend.Backend) {
// refresh refreshes the expiry of the lease. It extends the expiry at least
// minLeaseTTL second.
func (l *Lease) refresh() {
ttl := l.TTL
if l.TTL < minLeaseTTL {
ttl = minLeaseTTL
l.TTL = minLeaseTTL
}
l.expiry = time.Now().Add(time.Second * time.Duration(ttl))
l.expiry = time.Now().Add(time.Second * time.Duration(l.TTL))
}
// forever sets the expiry of lease to be forever.
func (l *Lease) forever() {
if l.TTL < minLeaseTTL {
l.TTL = minLeaseTTL
}
l.expiry = forever
}