@Override public ByteBuffer[] nioBuffers() { return wrapped.nioBuffers(); }
@Override public ByteBuffer[] nioBuffers(int index, int length) { return wrapped.nioBuffers(index, length); }
@Override public ByteBuffer[] nioBuffers() { return wrapped.nioBuffers(); }
@Override public ByteBuffer[] nioBuffers(int index, int length) { return wrapped.nioBuffers(index, length); }
@Override public ByteBuffer[] nioBuffers() { return wrapped.nioBuffers(); }
@Override public ByteBuffer[] nioBuffers(int index, int length) { return wrapped.nioBuffers(index, length); }
@Override public int getBytes(int index, FileChannel out, long position, int length) throws IOException { int count = nioBufferCount(); if (count == 1) { return out.write(internalNioBuffer(index, length), position); } else { long writtenBytes = 0; for (ByteBuffer buf : nioBuffers(index, length)) { writtenBytes += out.write(buf, position + writtenBytes); } if (writtenBytes > Integer.MAX_VALUE) { return Integer.MAX_VALUE; } return (int) writtenBytes; } }
@Override public ByteBuffer[] nioBuffers() { return nioBuffers(readerIndex(), readableBytes()); }
@Override public int getBytes(int index, FileChannel out, long position, int length) throws IOException { int count = nioBufferCount(); if (count == 1) { return out.write(internalNioBuffer(index, length), position); } else { long writtenBytes = 0; for (ByteBuffer buf : nioBuffers(index, length)) { writtenBytes += out.write(buf, position + writtenBytes); } if (writtenBytes > Integer.MAX_VALUE) { return Integer.MAX_VALUE; } return (int) writtenBytes; } }
@Override public ByteBuffer nioBuffer(int index, int length) { checkIndex(index, length); switch (componentCount) { case 0: return EMPTY_NIO_BUFFER; case 1: Component c = components[0]; ByteBuf buf = c.buf; if (buf.nioBufferCount() == 1) { return buf.nioBuffer(c.idx(index), length); } } ByteBuffer[] buffers = nioBuffers(index, length); if (buffers.length == 1) { return buffers[0].duplicate(); } ByteBuffer merged = ByteBuffer.allocate(length).order(order()); for (ByteBuffer buf: buffers) { merged.put(buf); } merged.flip(); return merged; }
@Override public ByteBuffer[] nioBuffers() { return nioBuffers(readerIndex(), readableBytes()); }
@Override public ByteBuffer nioBuffer(int index, int length) { checkIndex(index, length); switch (componentCount) { case 0: return EMPTY_NIO_BUFFER; case 1: Component c = components[0]; ByteBuf buf = c.buf; if (buf.nioBufferCount() == 1) { return buf.nioBuffer(c.idx(index), length); } } ByteBuffer[] buffers = nioBuffers(index, length); if (buffers.length == 1) { return buffers[0].duplicate(); } ByteBuffer merged = ByteBuffer.allocate(length).order(order()); for (ByteBuffer buf: buffers) { merged.put(buf); } merged.flip(); return merged; }
@Override public int getBytes(int index, FileChannel out, long position, int length) throws IOException { int count = nioBufferCount(); if (count == 1) { return out.write(internalNioBuffer(index, length), position); } else { long writtenBytes = 0; for (ByteBuffer buf : nioBuffers(index, length)) { writtenBytes += out.write(buf, position + writtenBytes); } if (writtenBytes > Integer.MAX_VALUE) { return Integer.MAX_VALUE; } return (int) writtenBytes; } }
@Override public ByteBuffer[] nioBuffers() { return nioBuffers(readerIndex(), readableBytes()); }
@Override public int getBytes(int index, GatheringByteChannel out, int length) throws IOException { int count = nioBufferCount(); if (count == 1) { return out.write(internalNioBuffer(index, length)); } else { long writtenBytes = out.write(nioBuffers(index, length)); if (writtenBytes > Integer.MAX_VALUE) { return Integer.MAX_VALUE; } else { return (int) writtenBytes; } } }
@Override public ByteBuffer nioBuffer(int index, int length) { checkIndex(index, length); switch (components.size()) { case 0: return EMPTY_NIO_BUFFER; case 1: ByteBuf buf = components.get(0).buf; if (buf.nioBufferCount() == 1) { return components.get(0).buf.nioBuffer(index, length); } } ByteBuffer[] buffers = nioBuffers(index, length); if (buffers.length == 1) { return buffers[0].duplicate(); } ByteBuffer merged = ByteBuffer.allocate(length).order(order()); for (ByteBuffer buf: buffers) { merged.put(buf); } merged.flip(); return merged; }
@Override public int getBytes(int index, GatheringByteChannel out, int length) throws IOException { int count = nioBufferCount(); if (count == 1) { return out.write(internalNioBuffer(index, length)); } else { long writtenBytes = out.write(nioBuffers(index, length)); if (writtenBytes > Integer.MAX_VALUE) { return Integer.MAX_VALUE; } else { return (int) writtenBytes; } } }
@Override public int getBytes(int index, GatheringByteChannel out, int length) throws IOException { int count = nioBufferCount(); if (count == 1) { return out.write(internalNioBuffer(index, length)); } else { long writtenBytes = out.write(nioBuffers(index, length)); if (writtenBytes > Integer.MAX_VALUE) { return Integer.MAX_VALUE; } else { return (int) writtenBytes; } } }
@Override public ByteBuffer[] nioBuffers(int index, int length) { return wrapped.nioBuffers(index, length); }
@Override public ByteBuffer[] nioBuffers() { return wrapped.nioBuffers(); }