@Override public void setIndex(int readerIndex, int writerIndex) { buffer.setIndex(readerIndex, writerIndex); }
@Override public ByteBuf setIndex(int readerIndex, int writerIndex) { buf.setIndex(readerIndex, writerIndex); return this; }
@Override public ByteBuf setIndex(int readerIndex, int writerIndex) { buf.setIndex(readerIndex, writerIndex); return this; }
@Override public ByteBuf setIndex(int readerIndex, int writerIndex) { buf.setIndex(readerIndex, writerIndex); return this; }
@Override public ByteBuf setIndex(int readerIndex, int writerIndex) { buf.setIndex(readerIndex, writerIndex); return this; }
@Override public ByteBuf duplicate() { return duplicate0().setIndex(readerIndex(), writerIndex()); }
ByteBuf duplicate() { return buf.duplicate().setIndex(idx(offset), idx(endOffset)); }
@Override public ByteBuf duplicate() { return duplicate0().setIndex(readerIndex(), writerIndex()); }
ByteBuf duplicate() { return buf.duplicate().setIndex(idx(offset), idx(endOffset)); }
static ByteBuf copy(AbstractByteBuf buf, long addr, int index, int length) { buf.checkIndex(index, length); ByteBuf copy = buf.alloc().directBuffer(length, buf.maxCapacity()); if (length != 0) { if (copy.hasMemoryAddress()) { PlatformDependent.copyMemory(addr, copy.memoryAddress(), length); copy.setIndex(0, length); } else { copy.writeBytes(buf, index, length); } } return copy; }
@Override public ByteBuf duplicate() { return duplicate0().setIndex(idx(readerIndex()), idx(writerIndex())); }
@Override public ByteBuf copy(int index, int length) { checkIndex(index, length); ByteBuf copy = alloc().directBuffer(length, maxCapacity()); if (length != 0) { if (copy.hasMemoryAddress()) { PlatformDependent.copyMemory(addr(index), copy.memoryAddress(), length); copy.setIndex(0, length); } else { copy.writeBytes(this, index, length); } } return copy; }
static ByteBuf copy(AbstractByteBuf buf, long addr, int index, int length) { buf.checkIndex(index, length); ByteBuf copy = buf.alloc().directBuffer(length, buf.maxCapacity()); if (length != 0) { if (copy.hasMemoryAddress()) { PlatformDependent.copyMemory(addr, copy.memoryAddress(), length); copy.setIndex(0, length); } else { copy.writeBytes(buf, index, length); } } return copy; }
@Override public ByteBuf duplicate() { return unwrap().duplicate().setIndex(idx(readerIndex()), idx(writerIndex())); }
@Override public ByteBuf duplicate() { return duplicate0().setIndex(idx(readerIndex()), idx(writerIndex())); }
@Override public ByteBuf copy(int index, int length) { checkIndex(index, length); ByteBuf copy = alloc().directBuffer(length, maxCapacity()); if (length != 0) { if (copy.hasMemoryAddress()) { PlatformDependent.copyMemory(addr(index), copy.memoryAddress(), length); copy.setIndex(0, length); } else { copy.writeBytes(this, index, length); } } return copy; }
@Override public ByteBuf duplicate() { return unwrap().duplicate().setIndex(idx(readerIndex()), idx(writerIndex())); }
@Benchmark public void netty() { GET.setIndex(readerIndex, writeIndex); nettyChannel.writeInbound(GET); ByteBuf result = (ByteBuf) nettyChannel.outboundMessages().poll(); consume(result); } }
@Benchmark public void vertx() { GET.setIndex(readerIndex, writeIndex); vertxChannel.writeInbound(GET); ByteBuf result = (ByteBuf) vertxChannel.outboundMessages().poll(); consume(result); }
@Fork(value = 1, jvmArgsAppend = { "-Dvertx.threadChecks=false", "-Dvertx.disableContextTimings=true", "-Dvertx.disableTCCL=true", "-Dvertx.disableHttpHeadersValidation=true", }) @Benchmark public void vertxOpt() { GET.setIndex(readerIndex, writeIndex); vertxChannel.writeInbound(GET); ByteBuf result = (ByteBuf) vertxChannel.outboundMessages().poll(); consume(result); }