List of usage examples for io.vertx.core.buffer Buffer setBytes
@GenIgnore(GenIgnore.PERMITTED_TYPE) @Fluent Buffer setBytes(int pos, byte[] b);
The buffer will expand as necessary to accommodate any value written.
From source file:org.sfs.io.AsyncFileReaderImpl.java
License:Apache License
private void doRead(final Buffer writeBuff, final int offset, final ByteBuffer buff, final long position, final Handler<AsyncResult<Buffer>> handler) { ch.read(buff, position, null, new java.nio.channels.CompletionHandler<Integer, Object>() { long pos = position; private void done(boolean eof) { context.runOnContext(event -> { buff.flip();/*w w w .j a v a 2s . c om*/ writeBuff.setBytes(offset, buff); Future.succeededFuture(writeBuff).setHandler(handler); }); } public void completed(Integer bytesRead, Object attachment) { if (bytesRead == -1) { //End of file done(true); } else if (buff.hasRemaining()) { // partial read pos += bytesRead; // resubmit doRead(writeBuff, offset, buff, pos, handler); } else { // It's been fully written done(false); } } public void failed(final Throwable t, Object attachment) { context.runOnContext(event -> Future.<Buffer>failedFuture(t).setHandler(handler)); } }); }
From source file:org.sfs.io.Block.java
License:Apache License
public Frame<Buffer> toBuffer() { byte[] frame = getValue().toByteArray(); Preconditions.checkState(frame.length <= frameDataSize, "Frame length was %s, expected %s", frame.length, frameDataSize);// w w w .ja va 2 s . c o m byte[] checksum = checksum(frame); Buffer buffer = Buffer.buffer(); buffer.setBytes(FRAME_HASH_OFFSET, checksum); buffer.setInt(FRAME_LENGTH_OFFSET, frame.length); buffer.setBytes(FRAME_DATA_OFFSET, frame); Preconditions.checkState(buffer.length() <= blockSize, "Buffer size was %s, expected %s", buffer.length(), blockSize); byte[] remaining = new byte[blockSize - buffer.length()]; if (remaining.length > 0) { buffer.setBytes(buffer.length(), remaining); Preconditions.checkState(buffer.length() <= blockSize, "Buffer size was %s, expected %s", buffer.length(), blockSize); } return new Frame<>(checksum, buffer); }
From source file:org.sfs.io.Block.java
License:Apache License
public static Frame<Buffer> encodeFrame(Buffer value) { byte[] frame = value.getBytes(); byte[] checksum = checksum(frame); Buffer buffer = Buffer.buffer(); buffer.setBytes(FRAME_HASH_OFFSET, checksum); buffer.setInt(FRAME_LENGTH_OFFSET, frame.length); buffer.setBytes(FRAME_DATA_OFFSET, frame); return new Frame<>(checksum, buffer); }