Interface BufferManagerRead
- All Known Implementing Classes:
BufferManagerReadGrow, BufferManagerReadStream
public interface BufferManagerRead
-
Method Summary
Modifier and TypeMethodDescriptionvoidcancelProcessing(int requestId) Signals that the processing be cancelled.voidclose(ByteBuffer byteBuffer) Close BufferManagerRead and perform any outstanding cleanup.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.voidprocessFragment(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
-