add expiry callback documentation
Original commit: elastic/x-pack-elasticsearch@03326406d1
This commit is contained in:
parent
827d68c7b0
commit
c67beb1359
|
@ -8,6 +8,7 @@ package org.elasticsearch.license.plugin.core;
|
||||||
import org.elasticsearch.common.logging.LoggerMessageFormat;
|
import org.elasticsearch.common.logging.LoggerMessageFormat;
|
||||||
import org.elasticsearch.common.unit.TimeValue;
|
import org.elasticsearch.common.unit.TimeValue;
|
||||||
import org.elasticsearch.license.core.License;
|
import org.elasticsearch.license.core.License;
|
||||||
|
import org.elasticsearch.xpack.scheduler.SchedulerEngine;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@ -17,6 +18,11 @@ public abstract class ExpirationCallback {
|
||||||
|
|
||||||
public enum Orientation {PRE, POST}
|
public enum Orientation {PRE, POST}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback that is triggered every <code>frequency</code> when
|
||||||
|
* current time is between <code>max</code> and <code>min</code>
|
||||||
|
* before license expiry.
|
||||||
|
*/
|
||||||
public abstract static class Pre extends ExpirationCallback {
|
public abstract static class Pre extends ExpirationCallback {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -31,6 +37,11 @@ public abstract class ExpirationCallback {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback that is triggered every <code>frequency</code> when
|
||||||
|
* current time is between <code>min</code> and <code>max</code>
|
||||||
|
* after license expiry.
|
||||||
|
*/
|
||||||
public abstract static class Post extends ExpirationCallback {
|
public abstract static class Post extends ExpirationCallback {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -68,11 +79,14 @@ public abstract class ExpirationCallback {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The delay for the first notification, when the current time
|
* Calculates the delay for the next trigger time. When <code>now</code> is in a
|
||||||
* is not in the valid time bracket for this callback
|
* valid time bracket with respect to <code>expirationDate</code>, the delay is 0.
|
||||||
|
* When <code>now</code> is before the time bracket, than delay to the start of the
|
||||||
|
* time bracket and when <code>now</code> is passed the valid time bracket, the delay
|
||||||
|
* is <code>null</code>
|
||||||
* @param expirationDate license expiry date in milliseconds
|
* @param expirationDate license expiry date in milliseconds
|
||||||
* @param now current time in milliseconds
|
* @param now current time in milliseconds
|
||||||
* @return time delay for the first notification
|
* @return time delay
|
||||||
*/
|
*/
|
||||||
final TimeValue delay(long expirationDate, long now) {
|
final TimeValue delay(long expirationDate, long now) {
|
||||||
final TimeValue delay;
|
final TimeValue delay;
|
||||||
|
@ -121,6 +135,10 @@ public abstract class ExpirationCallback {
|
||||||
return delay;
|
return delay;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link SchedulerEngine.Schedule#nextScheduledTimeAfter(long, long)} with respect to
|
||||||
|
* license expiry date
|
||||||
|
*/
|
||||||
public final long nextScheduledTimeForExpiry(long expiryDate, long startTime, long time) {
|
public final long nextScheduledTimeForExpiry(long expiryDate, long startTime, long time) {
|
||||||
TimeValue delay = delay(expiryDate, time);
|
TimeValue delay = delay(expiryDate, time);
|
||||||
if (delay != null) {
|
if (delay != null) {
|
||||||
|
|
Loading…
Reference in New Issue