java/org/apache/coyote/AbstractProtocol.java
/**
         * Expected to be used by the handler once the processor is no longer
         * required.
         *
         * @param processor Processor being released (that was associated with
         *                  the socket)
         */
Expected to be used by the handler once the processor is no longer
required.

@param processor Processor being released (that was associated with
the socket)
Expected to be used by the handler once the processor is no longer required . @param processor Processor being released ( that was associated with the socket )
private void release(Processor processor) {
            if (processor != null) {
                processor.recycle();
                if (processor.isUpgrade()) {
                    if (processor instanceof UpgradeProcessorInternal) {
                        if (((UpgradeProcessorInternal) processor).hasAsyncIO()) {
                            getProtocol().removeWaitingProcessor(processor);
                        }
                    }
                } else {
                    recycledProcessors.push(processor);
                    if (getLog().isDebugEnabled()) {
                        getLog().debug("Pushed Processor [" + processor + "]");
                    }
                }
            }
        }
private void release ( Processor processor ) { if ( processor != null ) { processor . recycle ( ) ; if ( processor . isUpgrade ( ) ) { if ( processor instanceof UpgradeProcessorInternal ) { if ( ( ( UpgradeProcessorInternal ) processor ) . hasAsyncIO ( ) ) { getProtocol ( ) . removeWaitingProcessor ( processor ) ; } } } else { recycledProcessors . push ( processor ) ; if ( getLog ( ) . isDebugEnabled ( ) ) { getLog ( ) . debug ( "Pushed Processor [" + processor + "]" ) ; } } } }
Expected to be used by the handler once the processor is no longer
 required.
Expected to be used by the handler once the processor is no longer required .
// UpgradeProcessorInternal instances can utilise AsyncIO. // If they do, the processor will not pass through the // process() method and be removed from waitingProcessors // so do that here. // After recycling, only instances of UpgradeProcessorBase // will return true for isUpgrade(). // Instances of UpgradeProcessorBase should not be added to // recycledProcessors since that pool is only for AJP or // HTTP processors