public void overflow(ByteBufferWithInfo bbwi) { // Set the fragment's moreFragments field to true MessageBase.setFlag(bbwi.byteBuffer, Message.MORE_FRAGMENTS_BIT); sendFragment(false); // Reuse the old buffer // REVISIT - need to account for case when needed > available even after fragmenting. This is the large array // case, so the caller should retry when it runs out of space. bbwi.position(0); bbwi.buflen = bbwi.byteBuffer.limit(); bbwi.fragmented = true; // Now we must marshal in the fragment header/GIOP header // REVISIT - we can optimize this by not creating the fragment message each time. FragmentMessage header = ((CDROutputObject) outputObject).getMessageHeader().createFragmentMessage(); header.write(((CDROutputObject) outputObject)); }
public void overflow(ByteBufferWithInfo bbwi) { // Set the fragment's moreFragments field to true MessageBase.setFlag(bbwi.byteBuffer, Message.MORE_FRAGMENTS_BIT); sendFragment(false); // Reuse the old buffer // REVISIT - need to account for case when needed > available even after fragmenting. This is the large array // case, so the caller should retry when it runs out of space. bbwi.position(0); bbwi.buflen = bbwi.byteBuffer.limit(); bbwi.fragmented = true; // Now we must marshal in the fragment header/GIOP header // REVISIT - we can optimize this by not creating the fragment message each time. FragmentMessage header = ((CDROutputObject) outputObject).getMessageHeader().createFragmentMessage(); header.write(((CDROutputObject) outputObject)); }
public void overflow(ByteBufferWithInfo bbwi) { // Set the fragment's moreFragments field to true MessageBase.setFlag(bbwi.byteBuffer, Message.MORE_FRAGMENTS_BIT); // Enqueue the previous fragment queue.enqueue(bbwi); // Create a new bbwi ByteBufferWithInfo newBbwi = new ByteBufferWithInfo(orb, this); newBbwi.fragmented = true; // XREVISIT - Downcast ((CDROutputObject) outputObject).setByteBufferWithInfo(newBbwi); // Now we must marshal in the fragment header/GIOP header // REVISIT - we can optimize this by not creating the fragment message each time. // XREVISIT - Downcast FragmentMessage header = ((CDROutputObject) outputObject).getMessageHeader().createFragmentMessage(); header.write((CDROutputObject) outputObject); }
public void overflow(ByteBufferWithInfo bbwi) { // Set the fragment's moreFragments field to true MessageBase.setFlag(bbwi.byteBuffer, Message.MORE_FRAGMENTS_BIT); // Enqueue the previous fragment queue.enqueue(bbwi); // Create a new bbwi ByteBufferWithInfo newBbwi = new ByteBufferWithInfo(orb, this); newBbwi.fragmented = true; // XREVISIT - Downcast ((CDROutputObject) outputObject).setByteBufferWithInfo(newBbwi); // Now we must marshal in the fragment header/GIOP header // REVISIT - we can optimize this by not creating the fragment message each time. // XREVISIT - Downcast FragmentMessage header = ((CDROutputObject) outputObject).getMessageHeader().createFragmentMessage(); header.write((CDROutputObject) outputObject); }