com.sun.grizzly.ssl
Class SSLAsyncOutputBuffer

java.lang.Object
  extended by com.sun.grizzly.tcp.http11.InternalOutputBuffer
      extended by com.sun.grizzly.http.SocketChannelOutputBuffer
          extended by com.sun.grizzly.ssl.SSLAsyncOutputBuffer
All Implemented Interfaces:
SecureOutputBuffer, FileOutputBuffer, OutputBuffer, ByteChunk.ByteOutputChannel

public class SSLAsyncOutputBuffer
extends SocketChannelOutputBuffer
implements SecureOutputBuffer

Buffer the bytes until the ByteChunk is full or the request is completed, and then delegate the SSL encryption to class SSLOutputBuffer

Author:
Jean-Francois Arcand

Nested Class Summary
 
Nested classes/interfaces inherited from class com.sun.grizzly.http.SocketChannelOutputBuffer
SocketChannelOutputBuffer.AsyncWriteCallbackHandlerImpl, SocketChannelOutputBuffer.ByteBufferClonerImpl
 
Nested classes/interfaces inherited from class com.sun.grizzly.tcp.http11.InternalOutputBuffer
InternalOutputBuffer.OutputStreamOutputBuffer
 
Field Summary
protected  ByteBuffer outputBB
          Encrypted Output ByteBuffer
protected  SSLEngine sslEngine
          The SSLEngine used to write SSL data.
 
Fields inherited from class com.sun.grizzly.http.SocketChannelOutputBuffer
ACK, asyncHttpByteBufferCloner, asyncQueueWriter, bufferPool, channel, DEFAULT_BUFFER_POOL_SIZE, discardBytes, isAsyncHttpWriteEnabled, logger, maxBufferedBytes, maxBufferPoolSize, outputByteBuffer, selectionKey
 
Fields inherited from class com.sun.grizzly.tcp.http11.InternalOutputBuffer
activeFilters, buf, committed, filterLibrary, finished, headers, lastActiveFilter, outputStream, outputStreamOutputBuffer, pos, response, socketBuffer, useSocketBuffer
 
Constructor Summary
SSLAsyncOutputBuffer(Response response, int headerBufferSize, boolean useSocketBuffer)
          Alternate constructor.
 
Method Summary
 void flushChannel(ByteBuffer bb)
          Flush the buffer by looping until the ByteBuffer is empty using SSLOutputBuffer
 ByteBuffer getOutputBB()
          Return the encrypted ByteBuffer used to handle response.
 SSLEngine getSSLEngine()
          Set theSSLEngine.
 void setOutputBB(ByteBuffer outputBB)
          Set the encrypted ByteBuffer used to handle response.
 void setSSLEngine(SSLEngine sslEngine)
          Get theSSLEngine.
 
Methods inherited from class com.sun.grizzly.http.SocketChannelOutputBuffer
createByteBuffer, discardUpstreamBytes, endRequest, flush, flushBuffer, getAsyncQueueWriter, getChannel, getMaxBufferedBytes, getMaxBufferPoolSize, getOutputByteBuffer, getSelectionKey, isAsyncHttpWriteEnabled, isSupportFileSend, realWriteBytes, recycle, reset, sendAck, sendFile, setAsyncHttpWriteEnabled, setAsyncQueueWriter, setChannel, setMaxBufferedBytes, setMaxBufferPoolSize, setSelectionKey
 
Methods inherited from class com.sun.grizzly.tcp.http11.InternalOutputBuffer
addActiveFilter, addFilter, addLastOutputFilter, clearFilters, commit, doWrite, endHeaders, getFilters, getOutputStream, nextRequest, sendHeader, sendHeader, sendHeader, sendStatus, setOutputStream, setSocketBuffer, write, write, write, write, write, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

outputBB

protected ByteBuffer outputBB
Encrypted Output ByteBuffer


sslEngine

protected SSLEngine sslEngine
The SSLEngine used to write SSL data.

Constructor Detail

SSLAsyncOutputBuffer

public SSLAsyncOutputBuffer(Response response,
                            int headerBufferSize,
                            boolean useSocketBuffer)
Alternate constructor.

Method Detail

flushChannel

public void flushChannel(ByteBuffer bb)
                  throws IOException
Flush the buffer by looping until the ByteBuffer is empty using SSLOutputBuffer

Overrides:
flushChannel in class SocketChannelOutputBuffer
Parameters:
bb - the ByteBuffer to write.
Throws:
IOException

getOutputBB

public ByteBuffer getOutputBB()
Return the encrypted ByteBuffer used to handle response.


setOutputBB

public void setOutputBB(ByteBuffer outputBB)
Set the encrypted ByteBuffer used to handle response.


getSSLEngine

public SSLEngine getSSLEngine()
Set theSSLEngine.

Specified by:
getSSLEngine in interface SecureOutputBuffer

setSSLEngine

public void setSSLEngine(SSLEngine sslEngine)
Get theSSLEngine.

Specified by:
setSSLEngine in interface SecureOutputBuffer


Copyright © 2012 Oracle Corporation. All Rights Reserved.