private static void sendFileCreate(
final Publication publication, final long correlationId, final int length, final String filename)
{
final ExpandableArrayBuffer buffer = new ExpandableArrayBuffer();
buffer.putInt(VERSION_OFFSET, VERSION, LITTLE_ENDIAN);
buffer.putInt(TYPE_OFFSET, FILE_CREATE_TYPE, LITTLE_ENDIAN);
buffer.putLong(CORRELATION_ID_OFFSET, correlationId, LITTLE_ENDIAN);
buffer.putLong(FILE_LENGTH_OFFSET, length, LITTLE_ENDIAN);
final int msgLength = FILE_NAME_OFFSET + buffer.putStringUtf8(FILE_NAME_OFFSET, filename);
long result;
while ((result = publication.offer(buffer, 0, msgLength)) < 0)
{
checkResult(result);
Thread.yield();
}
}