Class BufferManagerWriteGrow

    • Constructor Detail

      • BufferManagerWriteGrow

        BufferManagerWriteGrow​(ORB orb)
    • Method Detail

      • sentFragment

        public boolean sentFragment()
        Description copied from class: BufferManagerWrite
        Has the stream sent out any fragments so far?
        Specified by:
        sentFragment in class BufferManagerWrite
        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 class BufferManagerWrite
        Returns:
        buffer size
      • overflow

        protected java.nio.ByteBuffer overflow​(java.nio.ByteBuffer byteBuffer,
                                               int numBytesNeeded)
        Specified by:
        overflow in class BufferManagerWrite
      • isFragmentOnOverflow

        public boolean isFragmentOnOverflow()
        Description copied from class: BufferManagerWrite
        Returns true if this buffer manager fragments when an overflow occurs.
        Specified by:
        isFragmentOnOverflow in class BufferManagerWrite
        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 class BufferManagerWrite
      • close

        public void close()
        Close the BufferManagerWrite and do any outstanding cleanup. No work to do for a BufferManagerWriteGrow.
        Specified by:
        close in class BufferManagerWrite