@Override public ByteBuffer asByteBuffer(int index, int length) { return this.byteBuf.nioBuffer(index, length); }
static ByteBuffer safeNioBuffer(ByteBuf buffer) { return buffer.nioBufferCount() == 1 ? buffer.internalNioBuffer(buffer.readerIndex(), buffer.readableBytes()) : buffer.nioBuffer(); } }
@Override public ByteBuffer asByteBuffer() { return this.byteBuf.nioBuffer(); }
static ByteBuffer safeNioBuffer(ByteBuf buffer) { return buffer.nioBufferCount() == 1 ? buffer.internalNioBuffer(buffer.readerIndex(), buffer.readableBytes()) : buffer.nioBuffer(); } }
@Override public ByteBuffer toByteBuffer() { return buffer.nioBuffer(); }
@Override public ByteBuffer nioBuffer(int index, int length) { checkIndex(index, length); if (buffers.length == 1) { ByteBuf buf = buffer(0); if (buf.nioBufferCount() == 1) { return buf.nioBuffer(index, length); } } ByteBuffer merged = ByteBuffer.allocate(length).order(order()); ByteBuffer[] buffers = nioBuffers(index, length); //noinspection ForLoopReplaceableByForEach for (int i = 0; i < buffers.length; i++) { merged.put(buffers[i]); } merged.flip(); return merged; }
@Override public ByteBuffer toByteBuffer(int index, int length) { return buffer.nioBuffer(index, length); }
@Override public ByteBuffer nioBuffer() { return buf.nioBuffer(); }
@Override public ByteBuffer nioBuffer(int index, int length) { return buf.nioBuffer(index, length); }
@Override public ByteBuffer nioBuffer() { return buf.nioBuffer().order(order); }
@Override public ByteBuffer nioBuffer(int index, int length) { return buf.nioBuffer(index, length).order(order); }
@Override public ByteBuffer nioBuffer(int index, int length) { return buf.nioBuffer(index, length).order(order); }
@Override public Collection<Message<P>> decode(ByteBuf inputBuffer) { ByteBuffer nioBuffer = inputBuffer.nioBuffer(); int start = nioBuffer.position(); List<Message<P>> messages = decodeInternal(nioBuffer); inputBuffer.skipBytes(nioBuffer.position() - start); return messages; }
@Override public ByteBuffer nioBuffer(int index, int length) { return unwrap().nioBuffer(index, length); } }
@Override public ByteBuffer nioBuffer(int index, int length) { checkIndex(index, length); return buffer.nioBuffer(index, length); }
@Override public ByteBuffer nioBuffer(int index, int length) { return unwrap().nioBuffer(index, length).asReadOnlyBuffer(); }
@Override public ByteBuffer nioBuffer(int index, int length) { return unwrap().nioBuffer(index, length); } }
@Override public ByteBuffer nioBuffer(int index, int length) { checkIndex(index, length); return buffer.nioBuffer(index, length); }
@Override public ByteBuffer nioBuffer(int index, int length) { checkIndex0(index, length); return unwrap().nioBuffer(idx(index), length); }
@Override public ByteBuffer nioBuffer(int index, int length) { checkIndex0(index, length); return unwrap().nioBuffer(idx(index), length); }