@Override public void markReaderIndex() { buffer.markReaderIndex(); }
@Override public void markReaderIndex() { buffer.markReaderIndex(); }
@Override public void mark(int readlimit) { buffer.markReaderIndex(); }
public void markReaderIndex() { buf().markReaderIndex(); }
/** * Creates a new stream which reads data from the specified {@code buffer} * starting at the current {@code readerIndex} and ending at * {@code readerIndex + length}. * * @throws IndexOutOfBoundsException * if {@code readerIndex + length} is greater than * {@code writerIndex} */ public ChannelBufferInputStream(ChannelBuffer buffer, int length) { if (buffer == null) { throw new NullPointerException("buffer"); } if (length < 0) { throw new IllegalArgumentException("length: " + length); } if (length > buffer.readableBytes()) { throw new IndexOutOfBoundsException("Too many bytes to be read - Needs " + length + ", maximum is " + buffer.readableBytes()); } this.buffer = buffer; startIndex = buffer.readerIndex(); endIndex = startIndex + length; buffer.markReaderIndex(); }
private boolean decodePackBody(ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer) throws Exception { if (buffer.readableBytes() < 4) { return false; } buffer.markReaderIndex(); int length = buffer.readInt(); if (buffer.readableBytes() < length) { buffer.resetReaderIndex(); return false; } ByteBuffer bb = ByteBuffer.allocate(length); buffer.readBytes(bb); bb.flip(); dataPack.getDatas().add(bb); return dataPack.getDatas().size()==listSize; }
@Override protected Object decode(ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer) throws Exception { buffer.markReaderIndex(); final byte[] buf = new byte[5]; for (int i = 0; i < buf.length; i ++) { if (!buffer.readable()) { buffer.resetReaderIndex(); return null; } buf[i] = buffer.readByte(); if (buf[i] >= 0) { int length = CodedInputStream.newInstance(buf, 0, i + 1).readRawVarint32(); if (length < 0) { throw new CorruptedFrameException("negative length: " + length); } if (buffer.readableBytes() < length) { buffer.resetReaderIndex(); return null; } else { return buffer.readBytes(length); } } } // Couldn't find the byte whose MSB is off. throw new CorruptedFrameException("length wider than 32-bit"); } }
return null; buffer.markReaderIndex(); short type = buffer.readShort();
@Override public void markReaderIndex() { buffer.markReaderIndex(); }
@Override public void markReaderIndex() { buffer.markReaderIndex(); hasMarkedReaderIndex = true; }
@Override public void markReaderIndex() { buffer.markReaderIndex(); }
public NettyChannelBufferStreamCache(ChannelBuffer buffer) { this.buffer = buffer; buffer.markReaderIndex(); }
@Override public void markReaderIndex() { buffer.markReaderIndex(); }
@Override public void markReaderIndex() { buffer.markReaderIndex(); }
@Override public void mark(int readlimit) { buffer.markReaderIndex(); }
ChannelBufferStreamInput(ChannelBuffer buffer, int length) { if (length > buffer.readableBytes()) { throw new IndexOutOfBoundsException(); } this.buffer = buffer; startIndex = buffer.readerIndex(); endIndex = startIndex + length; buffer.markReaderIndex(); }
public ChannelBufferStreamInput(ChannelBuffer buffer, int length) { if (length > buffer.readableBytes()) { throw new IndexOutOfBoundsException(); } this.buffer = buffer; startIndex = buffer.readerIndex(); endIndex = startIndex + length; buffer.markReaderIndex(); }
public ChannelBufferStreamInput(ChannelBuffer buffer, int length) { if (length > buffer.readableBytes()) { throw new IndexOutOfBoundsException(); } this.buffer = buffer; startIndex = buffer.readerIndex(); endIndex = startIndex + length; buffer.markReaderIndex(); }
/** * Ensures that at least a {@code nbytes} are readable from the given buffer. * If there aren't enough bytes in the buffer this will raise an exception * and cause the {@link ReplayingDecoder} to undo whatever we did thus far * so we can wait until we read more from the socket. * @param buf Buffer to check. * @param nbytes Number of bytes desired. */ private static void ensureReadable(final ChannelBuffer buf, final int nbytes) { buf.markReaderIndex(); buf.skipBytes(nbytes); buf.resetReaderIndex(); }