Class BufferManagerReadGrow
java.lang.Object
com.sun.corba.ee.impl.encoding.BufferManagerReadGrow
- All Implemented Interfaces:
BufferManagerRead, MarkAndResetHandler
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate RestorableInputStreamprivate booleanprivate Objectprivate static final ORBUtilSystemException -
Constructor Summary
Constructors -
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 byteBuffer) Returns 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.voidvoidprocessFragment(ByteBuffer byteBuffer, FragmentMessage header) Case: Called from ReaderThread on complete message or fragments.voidreset()underflow(ByteBuffer byteBuffer) Invoked when we run out of data to read.
-
Field Details
-
wrapper
-
streamMemento
-
inputStream
-
markEngaged
private boolean markEngaged
-
-
Constructor Details
-
BufferManagerReadGrow
public BufferManagerReadGrow()
-
-
Method Details
-
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 fromheader- header of fragment
-
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
-
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:
-
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
-
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.
-
mark
- Specified by:
markin interfaceMarkAndResetHandler
-
fragmentationOccured
- Specified by:
fragmentationOccuredin interfaceMarkAndResetHandler
-
reset
public void reset()- Specified by:
resetin interfaceMarkAndResetHandler
-
close
Description copied from interface:BufferManagerReadClose BufferManagerRead and perform any outstanding cleanup.- Specified by:
closein interfaceBufferManagerRead- Parameters:
byteBuffer- buffer to return to the pool
-