Class BufferManagerReadStream
java.lang.Object
com.sun.corba.ee.impl.encoding.BufferManagerReadStream
- All Implemented Interfaces:
BufferManagerRead, MarkAndResetHandler
public class BufferManagerReadStream
extends Object
implements BufferManagerRead, MarkAndResetHandler
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate booleanprivate final BufferQueueprivate LinkedList<ByteBuffer> private RestorableInputStreamprivate booleanprivate final ORBprivate booleanprivate Objectprivate static final ORBUtilSystemException -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidbufferMessage(String msg, int bbAddr, String tail) voidcancelProcessing(int requestId) Signals that the processing be cancelled.voidclose(ByteBuffer byteBuffer) Close BufferManagerRead and perform any outstanding cleanup.voidfragmentationOccured(ByteBuffer newFrament) protected ByteBufferPoolReturns 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.private voidlogBufferMessage(String prefix, ByteBuffer byteBuffer, String suffix) voidmark(RestorableInputStream inputStream) voidprocessFragment(ByteBuffer byteBuffer, FragmentMessage msg) Case: Called from ReaderThread on complete message or fragments.voidreset()underflow(ByteBuffer byteBuffer) Invoked when we run out of data to read.private voidunderflowMessage(String msg, int rid)
-
Field Details
-
wrapper
-
receivedCancel
private volatile boolean receivedCancel -
cancelReqId
private int cancelReqId -
endOfStream
private boolean endOfStream -
fragmentQueue
-
orb
-
markEngaged
private boolean markEngaged -
fragmentStack
-
inputStream
-
streamMemento
-
-
Constructor Details
-
BufferManagerReadStream
BufferManagerReadStream(ORB orb)
-
-
Method Details
-
cancelProcessing
public void cancelProcessing(int requestId) Description copied from interface:BufferManagerReadSignals that the processing be cancelled.- Specified by:
cancelProcessingin interfaceBufferManagerRead- Parameters:
requestId- ID of the request to cancel
-
bufferMessage
-
processFragment
Description copied from interface:BufferManagerReadCase: 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:
processFragmentin interfaceBufferManagerRead- Parameters:
byteBuffer- buffer to read frommsg- header of fragment
-
underflowMessage
-
underflow
Description copied from interface:BufferManagerReadInvoked when we run out of data to read. Obtains more data from the stream.- Specified by:
underflowin interfaceBufferManagerRead- Parameters:
byteBuffer- Current buffer, to return to pool- Returns:
- Buffer containing new data
- See Also:
-
isFragmentOnUnderflow
public boolean isFragmentOnUnderflow()Description copied from interface:BufferManagerReadReturns true if this buffer manager reads fragments when it underflows.- Specified by:
isFragmentOnUnderflowin interfaceBufferManagerRead- Returns:
- if fragments will be read.
- See Also:
-
init
Description copied from interface:BufferManagerReadCalled once after creating this buffer manager and before it begins processing.- Specified by:
initin interfaceBufferManagerRead- Parameters:
msg- message header
-
close
Description copied from interface:BufferManagerReadClose BufferManagerRead and perform any outstanding cleanup.- Specified by:
closein interfaceBufferManagerRead- Parameters:
byteBuffer- buffer to return to the pool
-
logBufferMessage
-
getByteBufferPool
-
mark
- Specified by:
markin interfaceMarkAndResetHandler
-
fragmentationOccured
- Specified by:
fragmentationOccuredin interfaceMarkAndResetHandler
-
reset
public void reset()- Specified by:
resetin interfaceMarkAndResetHandler
-
getMarkAndResetHandler
Description copied from interface:BufferManagerReadReturns the mark/reset handler for this stream.- Specified by:
getMarkAndResetHandlerin interfaceBufferManagerRead- Returns:
- The mark/reset handler for this stream.
-