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 void
cancelProcessing(int requestId)
Signals that the processing be cancelled.void
close(java.nio.ByteBuffer byteBuffer)
Close BufferManagerRead and perform any outstanding cleanup.MarkAndResetHandler
getMarkAndResetHandler()
Returns the mark/reset handler for this stream.void
init(Message header)
Called once after creating this buffer manager and before it begins processing.boolean
isFragmentOnUnderflow()
Returns true if this buffer manager reads fragments when it underflows.void
processFragment(java.nio.ByteBuffer byteBuffer, FragmentMessage header)
Case: Called from ReaderThread on complete message or fragments.java.nio.ByteBuffer
underflow(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
-
-