/** * Return the <code>ProcessorTask</code> to the pool. */ @Override public void detachProcessor(){ if ( processorTask != null ){ ((SSLProcessorTask)processorTask).setSSLSupport(null); ((SSLProcessorTask)processorTask).setSslReadTask(null); final SecureOuputBuffer secureOutputBuffer = ((SSLProcessorTask) processorTask).getSecureOutputBuffer(); secureOutputBuffer.setSSLEngine(null); secureOutputBuffer.setOutputBB(null); } super.detachProcessor(); }
/** * Create <code>SSLProcessorTask</code> objects and configure it to be ready * to proceed request. */ @Override protected ProcessorTask newProcessorTask(boolean initialize){ SSLProcessorTask task = null; if (!asyncExecution) { task = new SSLProcessorTask(initialize, isBufferResponse()); } else { task = new SSLAsyncProcessorTask(initialize, isBufferResponse()); } return configureProcessorTask(task); }
/** * Initialize the stream and the buffer used to parse the request. */ @Override public void initialize(){ started = true; request = new Request(); response = new Response(); response.setHook(this); inputBuffer = new InternalInputBuffer(request,requestBufferSize); outputBuffer = new SSLOutputBuffer(response,maxHttpHeaderSize, bufferResponse); request.setInputBuffer(inputBuffer); response.setOutputBuffer(outputBuffer); request.setResponse(response); initializeFilters(); }
/** * Configure the <code>SSLProcessorTask</code>. */ @Override protected void configureProcessorTask(){ super.configureProcessorTask(); SSLSupport sslSupport = sslImplementation.getSSLSupport(sslEngine); ((SSLProcessorTask)processorTask).setSSLSupport(sslSupport); ((SSLProcessorTask)processorTask).setSslReadTask(this); SecureOuputBuffer secureOutputBuffer = ((SSLProcessorTask) processorTask).getSecureOutputBuffer(); if (secureOutputBuffer == null) { processorTask.initialize(); secureOutputBuffer = ((SSLProcessorTask) processorTask).getSecureOutputBuffer(); } secureOutputBuffer.setSSLEngine(sslEngine); secureOutputBuffer.setOutputBB(outputBB); }