public static IdleStrategy agentIdleStrategy(final String strategyName, final StatusIndicator controllableStatus) {
    """
	Get the {@link IdleStrategy} that should be applied to {@link org.agrona.concurrent.Agent}s.
	
	@param strategyName       of the class to be created.
	@param controllableStatus status indicator for what the strategy should do.
	@return the newly created IdleStrategy.
    """
        IdleStrategy idleStrategy = null;

        switch (strategyName)
        {
            case DEFAULT_IDLE_STRATEGY:
                idleStrategy = new BackoffIdleStrategy(
                    IDLE_MAX_SPINS, IDLE_MAX_YIELDS, IDLE_MIN_PARK_NS, IDLE_MAX_PARK_NS);
                break;

            case CONTROLLABLE_IDLE_STRATEGY:
                idleStrategy = new ControllableIdleStrategy(controllableStatus);
                controllableStatus.setOrdered(ControllableIdleStrategy.PARK);
                break;

            default:
                try
                {
                    idleStrategy = (IdleStrategy)Class.forName(strategyName).getConstructor().newInstance();
                }
                catch (final Exception ex)
                {
                    LangUtil.rethrowUnchecked(ex);
                }
                break;
        }

        return idleStrategy;
    }
public static IdleStrategy agentIdleStrategy(final String strategyName, final StatusIndicator controllableStatus)
    {
        IdleStrategy idleStrategy = null;

        switch (strategyName)
        {
            case DEFAULT_IDLE_STRATEGY:
                idleStrategy = new BackoffIdleStrategy(
                    IDLE_MAX_SPINS, IDLE_MAX_YIELDS, IDLE_MIN_PARK_NS, IDLE_MAX_PARK_NS);
                break;

            case CONTROLLABLE_IDLE_STRATEGY:
                idleStrategy = new ControllableIdleStrategy(controllableStatus);
                controllableStatus.setOrdered(ControllableIdleStrategy.PARK);
                break;

            default:
                try
                {
                    idleStrategy = (IdleStrategy)Class.forName(strategyName).getConstructor().newInstance();
                }
                catch (final Exception ex)
                {
                    LangUtil.rethrowUnchecked(ex);
                }
                break;
        }

        return idleStrategy;
    }
public static IdleStrategy agentIdleStrategy ( final String strategyName , final StatusIndicator controllableStatus ) { IdleStrategy idleStrategy = null ; switch ( strategyName ) { case DEFAULT_IDLE_STRATEGY : idleStrategy = new BackoffIdleStrategy ( IDLE_MAX_SPINS , IDLE_MAX_YIELDS , IDLE_MIN_PARK_NS , IDLE_MAX_PARK_NS ) ; break ; case CONTROLLABLE_IDLE_STRATEGY : idleStrategy = new ControllableIdleStrategy ( controllableStatus ) ; controllableStatus . setOrdered ( ControllableIdleStrategy . PARK ) ; break ; default : try { idleStrategy = ( IdleStrategy ) Class . forName ( strategyName ) . getConstructor ( ) . newInstance ( ) ; } catch ( final Exception ex ) { LangUtil . rethrowUnchecked ( ex ) ; } break ; } return idleStrategy ; }
Get the {@link IdleStrategy} that should be applied to {@link org.agrona.concurrent.Agent}s.

@param strategyName       of the class to be created.
@param controllableStatus status indicator for what the strategy should do.
@return the newly created IdleStrategy.
Get the { @link IdleStrategy } that should be applied to { @link org . agrona . concurrent . Agent } s .