private ByteBuffer[] convertToByteBuffers( long[] bufferAddresses, int arrayOffset, int length ) throws Exception { ByteBuffer[] buffers = new ByteBuffer[length]; for ( int i = 0; i < length; i++ ) { long address = bufferAddresses[arrayOffset + i]; buffers[i] = UnsafeUtil.newDirectByteBuffer( address, filePageSize ); } return buffers; }
private static ByteBuffer createAndGetNewBuffer( long buffer, int bufferLength ) throws IOException { ByteBuffer buf; try { buf = UnsafeUtil.newDirectByteBuffer( buffer, bufferLength ); } catch ( Exception e ) { throw new IOException( e ); } proxyCache.set( buf ); return buf; }
@Override public ByteBuffer asByteBuffer() { checkState( block.size <= Integer.MAX_VALUE, "Can't create ByteBuffer: memory size exceeds integer limit" ); try { return newDirectByteBuffer( block.addr, toIntExact( block.size ) ); } catch ( Exception e ) { throw new RuntimeException( e ); } } }
ByteBuffer a = newDirectByteBuffer( address, sizeInBytes ); assertThat( a, is( not( sameInstance( newDirectByteBuffer( address, sizeInBytes ) ) ) ) ); assertThat( a.hasArray(), is( false ) ); assertThat( a.isDirect(), is( true ) );
private ByteBuffer[] convertToByteBuffers( long[] bufferAddresses, int arrayOffset, int length ) throws Exception { ByteBuffer[] buffers = new ByteBuffer[length]; for ( int i = 0; i < length; i++ ) { long address = bufferAddresses[arrayOffset + i]; buffers[i] = UnsafeUtil.newDirectByteBuffer( address, filePageSize ); } return buffers; }
private static ByteBuffer createAndGetNewBuffer( long buffer, int bufferLength ) throws IOException { ByteBuffer buf; try { buf = UnsafeUtil.newDirectByteBuffer( buffer, bufferLength ); } catch ( Exception e ) { throw new IOException( e ); } proxyCache.set( buf ); return buf; }
@Override public ByteBuffer asByteBuffer() { checkState( block.size <= Integer.MAX_VALUE, "Can't create ByteBuffer: memory size exceeds integer limit" ); try { return newDirectByteBuffer( block.addr, toIntExact( block.size ) ); } catch ( Exception e ) { throw new RuntimeException( e ); } } }