package com.lambdaworks.redis.masterslave;
import java.util.concurrent.TimeUnit;
/**
* Value object to represent a timeout.
*
* @author Mark Paluch
* @since 4.2
*/
class Timeout {
private final long expiresMs;
public Timeout(long timeout, TimeUnit timeUnit) {
this.expiresMs = System.currentTimeMillis() + timeUnit.toMillis(timeout);
}
public boolean isExpired() {
return expiresMs < System.currentTimeMillis();
}
public long remaining() {
long diff = expiresMs - System.currentTimeMillis();
if (diff > 0) {
return diff;
}
return 0;
}
}