@Override public long write( ByteBuffer[] srcs ) throws IOException { return delegate.write( srcs ); }
@Override public int write( ByteBuffer src ) throws IOException { return delegate.write( src ); }
@Override public long write( ByteBuffer[] srcs, int offset, int length ) throws IOException { return delegate.write( srcs, offset, length ); }
public static void writeInt( StoreChannel channel, ByteBuffer buffer, int value ) throws IOException { buffer.clear(); buffer.putInt( value ); buffer.flip(); channel.write( buffer ); }
@Override public long write( ByteBuffer[] byteBuffers, int i, int i1 ) throws IOException { fs.ensureHasSpace(); return inner.write( byteBuffers, i, i1 ); }
@Override public long write( ByteBuffer[] srcs, int offset, int length ) throws IOException { return advance( delegateChannel.write( srcs, offset, length ) ); }
@Override public int write( ByteBuffer src ) throws IOException { return delegate.write( src ); }
@Override public long write( ByteBuffer[] srcs ) throws IOException { return delegate.write( srcs ); }
@Override public int write( ByteBuffer byteBuffer ) throws IOException { fs.ensureHasSpace(); return inner.write( byteBuffer ); }
@Override public int write( ByteBuffer src ) throws IOException { return (int) advance( delegateChannel.write( src ) ); }
@Override public long write( ByteBuffer[] srcs ) throws IOException { return advance( delegateChannel.write( srcs ) ); }
@Override public void write( int b ) throws IOException { buffer.clear(); buffer.put( (byte) b ); buffer.flip(); channel.write( buffer ); }
private File file( File parent, String name, int size ) throws IOException { File file = new File( parent, name ); try ( StoreChannel channel = fs.create( file ) ) { ByteBuffer buffer = ByteBuffer.allocate( size ); buffer.position( size ).flip(); channel.write( buffer ); } return file; } }
@Test void writeMultipleExtended() throws Exception { int off = 16; int len = 32; channel.write( buffers, off, len ); verify( actual ).write( buffers, off, len ); }
@Test( expected = ClosedByInterruptException.class ) public void ch_write_ByteBuffers() throws IOException { chan( true ).write( new ByteBuffer[]{ByteBuffer.allocate( 1 )} ); }
@Test void writeMultiple() throws Exception { channel.write( buffers ); verify( actual ).write( buffers ); }
@Test( expected = ClosedByInterruptException.class ) public void ch_write_ByteBuffers_offset_length() throws IOException { chan( true ).write( new ByteBuffer[]{ByteBuffer.allocate( 1 )}, 0, 1 ); }
@Test void write() throws Exception { channel.write( buf ); verify( actual ).write( buf ); }
private void writeSomeData( File file, Visitor<ByteBuffer, IOException> visitor ) throws IOException { try ( StoreChannel channel = fileSystemRule.get().open( file, OpenMode.READ_WRITE ) ) { ByteBuffer buffer = ByteBuffer.allocate( 1024 ); visitor.visit( buffer ); buffer.flip(); channel.write( buffer ); } }
@Test void lastPageIdOfFileWithOneByteIsZero() throws IOException { StoreChannel channel = fs.create( file( "a" ) ); channel.write( ByteBuffer.wrap( new byte[]{1} ) ); channel.close(); configureStandardPageCache(); try ( PagedFile pagedFile = map( file( "a" ), filePageSize ) ) { assertThat( pagedFile.getLastPageId(), is( 0L ) ); } }