The problem with a non-blocking entry is that you may not have anything useful if the entry is incomplete. You can get loops like
// non-blocking write while(bb.remaining() > 0) sc.write(bb);
OR
The former may burn the CPU, while the latter may be more desirable.
The big problem is being read. Once you decide whether you want to block or non-block reads, your records should be the same. Unfortunately, there is no way to make them different. If you want to non-block reads, you must have non-block records.
source share