Class BufferManagerWriteGrow
java.lang.Object
com.sun.corba.ee.impl.encoding.BufferManagerWrite
com.sun.corba.ee.impl.encoding.BufferManagerWriteGrow
-
Field Summary
Fields inherited from class BufferManagerWrite
orb, outputObject, sentFullMessage, wrapper -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close the BufferManagerWrite and do any outstanding cleanup.intReturns the correct buffer size for this type of buffer manager as set in the ORB.booleanReturns true if this buffer manager fragments when an overflow occurs.protected ByteBufferoverflow(ByteBuffer byteBuffer, int numBytesNeeded) voidCalled after Stub._invoke (i.e., before complete message has been sent).booleanHas the stream sent out any fragments so far?Methods inherited from class BufferManagerWrite
sentFullMessage, setOutputObject
-
Constructor Details
-
BufferManagerWriteGrow
BufferManagerWriteGrow(ORB orb)
-
-
Method Details
-
sentFragment
public boolean sentFragment()Description copied from class:BufferManagerWriteHas the stream sent out any fragments so far?- Specified by:
sentFragmentin classBufferManagerWrite- Returns:
- If any fragments have been sent
-
getBufferSize
public int getBufferSize()Returns the correct buffer size for this type of buffer manager as set in the ORB.- Specified by:
getBufferSizein classBufferManagerWrite- Returns:
- buffer size
-
overflow
- Specified by:
overflowin classBufferManagerWrite
-
isFragmentOnOverflow
public boolean isFragmentOnOverflow()Description copied from class:BufferManagerWriteReturns true if this buffer manager fragments when an overflow occurs.- Specified by:
isFragmentOnOverflowin classBufferManagerWrite- Returns:
- If this buffer manager fragments
-
sendMessage
public void sendMessage()Description copied from class:BufferManagerWriteCalled after Stub._invoke (i.e., before complete message has been sent). IIOPOutputStream.writeTo called from IIOPOutputStream.invoke Case: overflow was never called (bbwi.buf contains complete message). Backpatch size field. If growing or collecting: this.bufQ.put(bbwi). this.bufQ.iterate // However, see comment in getBufferQ this.connection.send(fragment) If streaming: this.connection.send(bbwi). Case: overflow was called N times (bbwi.buf contains last buffer). If growing or collecting: this.bufQ.put(bbwi). backpatch size field in first buffer. this.bufQ.iterate // However, see comment in getBufferQ this.connection.send(fragment) If streaming: backpatch fragment size field in bbwi.buf. Set no more fragments bit. this.connection.send(bbwi).- Specified by:
sendMessagein classBufferManagerWrite
-
close
public void close()Close the BufferManagerWrite and do any outstanding cleanup. No work to do for a BufferManagerWriteGrow.- Specified by:
closein classBufferManagerWrite
-