Package com.sun.corba.ee.impl.encoding
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 com.sun.corba.ee.impl.encoding.BufferManagerWrite
orb, outputObject, sentFullMessage, wrapper
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close the BufferManagerWrite and do any outstanding cleanup.int
Returns the correct buffer size for this type of buffer manager as set in the ORB.boolean
Returns true if this buffer manager fragments when an overflow occurs.protected ByteBuffer
overflow
(ByteBuffer byteBuffer, int numBytesNeeded) void
Called after Stub._invoke (i.e., before complete message has been sent).boolean
Has the stream sent out any fragments so far?Methods inherited from class com.sun.corba.ee.impl.encoding.BufferManagerWrite
sentFullMessage, setOutputObject
-
Constructor Details
-
BufferManagerWriteGrow
BufferManagerWriteGrow(ORB orb)
-
-
Method Details
-
sentFragment
public boolean sentFragment()Description copied from class:BufferManagerWrite
Has the stream sent out any fragments so far?- Specified by:
sentFragment
in 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:
getBufferSize
in classBufferManagerWrite
- Returns:
- buffer size
-
overflow
- Specified by:
overflow
in classBufferManagerWrite
-
isFragmentOnOverflow
public boolean isFragmentOnOverflow()Description copied from class:BufferManagerWrite
Returns true if this buffer manager fragments when an overflow occurs.- Specified by:
isFragmentOnOverflow
in classBufferManagerWrite
- Returns:
- If this buffer manager fragments
-
sendMessage
public void sendMessage()Description copied from class:BufferManagerWrite
Called 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:
sendMessage
in classBufferManagerWrite
-
close
public void close()Close the BufferManagerWrite and do any outstanding cleanup. No work to do for a BufferManagerWriteGrow.- Specified by:
close
in classBufferManagerWrite
-