public ReaderResult(int initialBufferSize) { requiresBufferSize(initialBufferSize); }
public void deepCopyIntoResultBuffer(ByteBuffer value) { requiresBufferSize(value.remaining()); buffer.clear(); buffer.put(value.slice()); buffer.flip(); }
@Override public void get(ByteBuffer key, ReaderResult result) throws IOException { StringBuilder sb = new StringBuilder(); sb.append("Original value: "); sb.append(BytesUtils.bytesToHexString(key)); sb.append(" Assigned to partition number: "); sb.append(partNum); byte[] bytes = sb.toString().getBytes(); result.requiresBufferSize(bytes.length); System.arraycopy(bytes, 0, result.getBuffer().array(), 0, bytes.length); result.found(); }
@Override public void get(ByteBuffer key, ReaderResult result) throws IOException { if (key.equals(ByteBuffer.wrap("nullKey".getBytes()))) { result.notFound(); } else { result.requiresBufferSize(returnValue.length); result.getBuffer().position(0).limit(returnValue.length); result.getBuffer().put(returnValue); result.getBuffer().flip(); result.found(); } }
@Override public void get(ByteBuffer key, ReaderResult result) throws IOException { byte[] v = map.get(key); if (v == null) { result.notFound(); } else { result.found(); result.requiresBufferSize(v.length); System.arraycopy(v, 0, result.getBuffer().array(), 0, v.length); result.getBuffer().limit(v.length); result.getBuffer().rewind(); } }
@Override public void get(ByteBuffer key, ReaderResult result) throws IOException { // we want at least readBufferSize bytes of available space. we might resize // again later. result.requiresBufferSize(readBufferSize); // ask the keyfile for this key keyFileReader.get(key, result); // if the key is found, then we are prepared to do the second lookup. if (result.isFound()) { // now we know where to look readRecord(result.getBuffer(), result); } }
result.requiresBufferSize(maxCompressedBufferSize + maxUncompressedBufferSize);
result.requiresBufferSize(newSize); result.getBuffer().position(0); result.getBuffer().limit(recordSize);
result.requiresBufferSize(valueSize); result.getBuffer().clear();