private void writeTestValue(Pipe ring, int blockSize, int testSize) { int FIELD_LOC = FieldReferenceOffsetManager.lookupFieldLocator(SINGLE_MESSAGE_NAMES[0], FRAG_LOC, FROM); assertTrue(0 == Pipe.contentRemaining(ring)); int j = testSize; while (true) { if (j == 0) { PipeWriter.publishEOF(ring); return; // done } if (PipeWriter.tryWriteFragment( ring, FRAG_LOC)) { // returns true if there is room to write this fragment int value = (--j * blockSize) / testSize; PipeWriter.writeFloatAsIntBits(ring, FIELD_LOC, 1f / (float) value); PipeWriter.publishWrites(ring); // must always publish the writes if message or fragment } else { // Unable to write because there is no room so do something else while we are waiting. Thread.yield(); } } }