Package com.sun.corba.ee.impl.encoding
Interface BufferManagerRead
- All Known Implementing Classes:
BufferManagerReadGrow
,BufferManagerReadStream
public interface BufferManagerRead
-
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.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
processFragment
(ByteBuffer byteBuffer, FragmentMessage header) Case: Called from ReaderThread on complete message or fragments.underflow
(ByteBuffer byteBuffer) Invoked when we run out of data to read.
-
Method Details
-
processFragment
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.- Parameters:
byteBuffer
- buffer to read fromheader
- header of fragment
-
underflow
Invoked when we run out of data to read. Obtains more data from the stream.- Parameters:
byteBuffer
- Current buffer, to return to pool- Returns:
- Buffer containing new data
- See Also:
-
isFragmentOnUnderflow
boolean isFragmentOnUnderflow()Returns true if this buffer manager reads fragments when it underflows.- Returns:
- if fragments will be read.
- See Also:
-
init
Called once after creating this buffer manager and before it begins processing.- Parameters:
header
- message header
-
getMarkAndResetHandler
MarkAndResetHandler getMarkAndResetHandler()Returns the mark/reset handler for this stream.- Returns:
- The mark/reset handler for this stream.
-
cancelProcessing
void cancelProcessing(int requestId) Signals that the processing be cancelled.- Parameters:
requestId
- ID of the request to cancel
-
close
Close BufferManagerRead and perform any outstanding cleanup.- Parameters:
byteBuffer
- buffer to return to the pool
-