in gflog-core/src/main/java/com/epam/deltix/gflog/core/idle/IdleStrategyFactory.java [63:79]
public IdleStrategy create() {
if (!hasMaxYields() && !hasMinParkPeriod() && !hasMaxParkPeriod()) {
return new BusySpinIdleStrategy();
}
if (!hasMaxSpins() && hasMaxYields() && !hasMinParkPeriod() && !hasMaxParkPeriod()) {
return new YieldingIdleStrategy();
}
if (!hasMaxSpins() && !hasMaxYields() && hasMinParkPeriod()) {
if (!hasMaxParkPeriod() || minParkPeriod == maxParkPeriod) {
return new SleepingIdleStrategy(minParkPeriod);
}
}
return new BackoffIdleStrategy(maxSpins, maxYields, minParkPeriod, maxParkPeriod);
}