Package com.sun.corba.ee.impl.encoding
Interface BufferManagerRead
-
- All Known Implementing Classes:
BufferManagerReadGrow,BufferManagerReadStream
public interface BufferManagerRead
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidcancelProcessing(int requestId)Signals that the processing be cancelled.voidclose(java.nio.ByteBuffer byteBuffer)Close BufferManagerRead and perform any outstanding cleanup.MarkAndResetHandlergetMarkAndResetHandler()Returns the mark/reset handler for this stream.voidinit(Message header)Called once after creating this buffer manager and before it begins processing.booleanisFragmentOnUnderflow()Returns true if this buffer manager reads fragments when it underflows.voidprocessFragment(java.nio.ByteBuffer byteBuffer, FragmentMessage header)Case: Called from ReaderThread on complete message or fragments.java.nio.ByteBufferunderflow(java.nio.ByteBuffer byteBuffer)Invoked when we run out of data to read.
-
-
-
Method Detail
-
processFragment
void processFragment(java.nio.ByteBuffer byteBuffer, FragmentMessage header)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
java.nio.ByteBuffer underflow(java.nio.ByteBuffer byteBuffer)
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()
-
isFragmentOnUnderflow
boolean isFragmentOnUnderflow()
Returns true if this buffer manager reads fragments when it underflows.- Returns:
- if fragments will be read.
- See Also:
underflow(ByteBuffer)
-
init
void init(Message header)
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
void close(java.nio.ByteBuffer byteBuffer)
Close BufferManagerRead and perform any outstanding cleanup.- Parameters:
byteBuffer- buffer to return to the pool
-
-