Package com.sun.corba.ee.impl.encoding
Class BufferManagerReadGrow
java.lang.Object
com.sun.corba.ee.impl.encoding.BufferManagerReadGrow
- All Implemented Interfaces:
BufferManagerRead
,MarkAndResetHandler
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate RestorableInputStream
private boolean
private Object
private static final ORBUtilSystemException
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
cancelProcessing
(int requestId) Signals that the processing be cancelled.void
close
(ByteBuffer byteBuffer) Close BufferManagerRead and perform any outstanding cleanup.void
fragmentationOccured
(ByteBuffer byteBuffer) Returns the mark/reset handler for this stream.void
Called once after creating this buffer manager and before it begins processing.boolean
Returns true if this buffer manager reads fragments when it underflows.void
void
processFragment
(ByteBuffer byteBuffer, FragmentMessage header) Case: Called from ReaderThread on complete message or fragments.void
reset()
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:BufferManagerRead
Case: 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:
processFragment
in interfaceBufferManagerRead
- Parameters:
byteBuffer
- buffer to read fromheader
- header of fragment
-
init
Description copied from interface:BufferManagerRead
Called once after creating this buffer manager and before it begins processing.- Specified by:
init
in interfaceBufferManagerRead
- Parameters:
msg
- message header
-
underflow
Description copied from interface:BufferManagerRead
Invoked when we run out of data to read. Obtains more data from the stream.- Specified by:
underflow
in interfaceBufferManagerRead
- Parameters:
byteBuffer
- Current buffer, to return to pool- Returns:
- Buffer containing new data
- See Also:
-
isFragmentOnUnderflow
public boolean isFragmentOnUnderflow()Description copied from interface:BufferManagerRead
Returns true if this buffer manager reads fragments when it underflows.- Specified by:
isFragmentOnUnderflow
in interfaceBufferManagerRead
- Returns:
- if fragments will be read.
- See Also:
-
cancelProcessing
public void cancelProcessing(int requestId) Description copied from interface:BufferManagerRead
Signals that the processing be cancelled.- Specified by:
cancelProcessing
in interfaceBufferManagerRead
- Parameters:
requestId
- ID of the request to cancel
-
getMarkAndResetHandler
Description copied from interface:BufferManagerRead
Returns the mark/reset handler for this stream.- Specified by:
getMarkAndResetHandler
in interfaceBufferManagerRead
- Returns:
- The mark/reset handler for this stream.
-
mark
- Specified by:
mark
in interfaceMarkAndResetHandler
-
fragmentationOccured
- Specified by:
fragmentationOccured
in interfaceMarkAndResetHandler
-
reset
public void reset()- Specified by:
reset
in interfaceMarkAndResetHandler
-
close
Description copied from interface:BufferManagerRead
Close BufferManagerRead and perform any outstanding cleanup.- Specified by:
close
in interfaceBufferManagerRead
- Parameters:
byteBuffer
- buffer to return to the pool
-