RepeatedDelayStrategy.java
com.mojang.realmsclient.gui.task.RepeatedDelayStrategy
信息
- 全限定名:com.mojang.realmsclient.gui.task.RepeatedDelayStrategy
- 类型:public interface
- 包:com.mojang.realmsclient.gui.task
- 源码路径:src/main/java/com/mojang/realmsclient/gui/task/RepeatedDelayStrategy.java
- 起始行号:L9
- 职责:
TODO
字段/常量
CONSTANT- 类型:
RepeatedDelayStrategy - 修饰符:
public public - 源码定位:
L10 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
long delayCyclesAfterSuccess() @ L22
- 方法名:delayCyclesAfterSuccess
- 源码定位:L22
- 返回类型:long
- 修饰符:package-private
参数:
- 无
说明:
TODO
long delayCyclesAfterFailure() @ L24
- 方法名:delayCyclesAfterFailure
- 源码定位:L24
- 返回类型:long
- 修饰符:package-private
参数:
- 无
说明:
TODO
static RepeatedDelayStrategy exponentialBackoff(int maxBackoff) @ L26
- 方法名:exponentialBackoff
- 源码定位:L26
- 返回类型:RepeatedDelayStrategy
- 修饰符:static
参数:
- maxBackoff: int
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public interface RepeatedDelayStrategy {
RepeatedDelayStrategy CONSTANT = new RepeatedDelayStrategy() {
@Override
public long delayCyclesAfterSuccess() {
return 1L;
}
@Override
public long delayCyclesAfterFailure() {
return 1L;
}
};
long delayCyclesAfterSuccess();
long delayCyclesAfterFailure();
static RepeatedDelayStrategy exponentialBackoff(int maxBackoff) {
return new RepeatedDelayStrategy() {
private static final Logger LOGGER = LogUtils.getLogger();
private int failureCount;
@Override
public long delayCyclesAfterSuccess() {
this.failureCount = 0;
return 1L;
}
@Override
public long delayCyclesAfterFailure() {
this.failureCount++;
long expandedDelay = Math.min(1L << this.failureCount, (long)maxBackoff);
LOGGER.debug("Skipping for {} extra cycles", expandedDelay);
return expandedDelay;
}
};
}
}引用的其他类
- 无