in datasketches-memory-java8/src/main/java/org/apache/datasketches/memory/internal/BaseWritableMemoryImpl.java [145:167]
public static WritableMemory wrapDirect(final long capacityBytes,
final ByteOrder byteOrder, final MemoryRequestServer memReqSvr) {
final AllocateDirect direct = new AllocateDirect(capacityBytes);
final int typeId = 0; //direct is never read-only on construction
final long nativeBaseOffset = direct.getNativeBaseOffset();
final long cumOffsetBytes = nativeBaseOffset;
final BaseWritableMemoryImpl wmem = Util.isNativeByteOrder(byteOrder)
? new DirectWritableMemoryImpl(
direct,
0L,
capacityBytes,
typeId,
cumOffsetBytes,
memReqSvr)
: new DirectNonNativeWritableMemoryImpl(
direct,
0L,
capacityBytes,
typeId,
cumOffsetBytes,
memReqSvr);
return wmem;
}