Class BufferManagerReadStream
java.lang.Object
com.sun.corba.ee.impl.encoding.BufferManagerReadStream
- All Implemented Interfaces:
BufferManagerRead
-
Method Summary
Modifier and TypeMethodDescriptionvoidcancelProcessing(int requestId) Signals that the processing be cancelled.voidclose(ByteBuffer byteBuffer) Close BufferManagerRead and perform any outstanding cleanup.voidfragmentationOccured(ByteBuffer newFrament) protected ByteBufferPoolcom.sun.corba.ee.impl.encoding.MarkAndResetHandlerReturns the mark/reset handler for this stream.voidCalled once after creating this buffer manager and before it begins processing.booleanReturns true if this buffer manager reads fragments when it underflows.voidmark(com.sun.corba.ee.impl.encoding.RestorableInputStream inputStream) voidprocessFragment(ByteBuffer byteBuffer, FragmentMessage msg) Case: Called from ReaderThread on complete message or fragments.voidreset()underflow(ByteBuffer byteBuffer) Invoked when we run out of data to read.
-
Method Details
-
cancelProcessing
public void cancelProcessing(int requestId) Description copied from interface:BufferManagerReadSignals that the processing be cancelled.- Specified by:
cancelProcessingin interfaceBufferManagerRead- Parameters:
requestId- ID of the request to cancel
-
processFragment
Description copied from interface:BufferManagerReadCase: Called from ReaderThread on complete message or fragments. The given buffer may be entire message or a fragment. The ReaderThread finds the ReadBufferManager instance either in in a fragment map (when collecting - GIOP 1.2 phase 1) or in an active server requests map (when streaming - GIOP 1.2 phase 2). As a model for implementation see IIOPInputStream's constructor of the same name. There are going to be some variations.- Specified by:
processFragmentin interfaceBufferManagerRead- Parameters:
byteBuffer- buffer to read frommsg- header of fragment
-
underflow
Description copied from interface:BufferManagerReadInvoked when we run out of data to read. Obtains more data from the stream.- Specified by:
underflowin interfaceBufferManagerRead- Parameters:
byteBuffer- Current buffer, to return to pool- Returns:
- Buffer containing new data
- See Also:
-
isFragmentOnUnderflow
public boolean isFragmentOnUnderflow()Description copied from interface:BufferManagerReadReturns true if this buffer manager reads fragments when it underflows.- Specified by:
isFragmentOnUnderflowin interfaceBufferManagerRead- Returns:
- if fragments will be read.
- See Also:
-
init
Description copied from interface:BufferManagerReadCalled once after creating this buffer manager and before it begins processing.- Specified by:
initin interfaceBufferManagerRead- Parameters:
msg- message header
-
close
Description copied from interface:BufferManagerReadClose BufferManagerRead and perform any outstanding cleanup.- Specified by:
closein interfaceBufferManagerRead- Parameters:
byteBuffer- buffer to return to the pool
-
getByteBufferPool
-
mark
public void mark(com.sun.corba.ee.impl.encoding.RestorableInputStream inputStream) -
fragmentationOccured
-
reset
public void reset() -
getMarkAndResetHandler
public com.sun.corba.ee.impl.encoding.MarkAndResetHandler getMarkAndResetHandler()Description copied from interface:BufferManagerReadReturns the mark/reset handler for this stream.- Specified by:
getMarkAndResetHandlerin interfaceBufferManagerRead- Returns:
- The mark/reset handler for this stream.
-