private void processNodeStateEvent ( NodeStateEvent event ) { switch ( stateRef . get ( ) ) { case BEFORE_INIT : case DURING_INIT : throw new AssertionError ( "Filter should not be marked ready until LBP init" ) ; case CLOSING : return ; // ignore case RUNNING : for ( LoadBalancingPolicy policy : policies ) { if ( event . newState == NodeState . UP ) { policy . onUp ( event . node ) ; } else if ( event . newState == NodeState . DOWN || event . newState == NodeState . FORCED_DOWN ) { policy . onDown ( event . node ) ; } else if ( event . newState == NodeState . UNKNOWN ) { policy . onAdd ( event . node ) ; } else if ( event . newState == null ) { policy . onRemove ( event . node ) ; } else { LOG . warn ( "[{}] Unsupported event: {}" , logPrefix , event ) ; } } break ; } }
once it has gone through the filter