@Override public byte getByte(int index) { return this.dataBuffer.getByte(index); }
@Override public byte getByte(int index) { return this.dataBuffer.getByte(index); }
@Override public byte getByte(int index) { return this.delegate.getByte(index); }
@Test public void getByte() { DataBuffer buffer = stringBuffer("abc"); assertEquals('a', buffer.getByte(0)); assertEquals('b', buffer.getByte(1)); assertEquals('c', buffer.getByte(2)); try { buffer.getByte(-1); fail("IndexOutOfBoundsException expected"); } catch (IndexOutOfBoundsException ignored) { } try { buffer.getByte(3); fail("IndexOutOfBoundsException expected"); } catch (IndexOutOfBoundsException ignored) { } release(buffer); }
/** * Find the given delimiter in the given data buffer. * @return the index of the delimiter, or -1 if not found. */ private static int indexOf(DataBuffer dataBuffer, byte[] delimiter) { for (int i = dataBuffer.readPosition(); i < dataBuffer.writePosition(); i++) { int dataBufferPos = i; int delimiterPos = 0; while (delimiterPos < delimiter.length) { if (dataBuffer.getByte(dataBufferPos) != delimiter[delimiterPos]) { break; } else { dataBufferPos++; if (dataBufferPos == dataBuffer.writePosition() && delimiterPos != delimiter.length - 1) { return -1; } } delimiterPos++; } if (delimiterPos == delimiter.length) { return i - dataBuffer.readPosition(); } } return -1; }
/** * Find the given delimiter in the given data buffer. * @return the index of the delimiter, or -1 if not found. */ private static int indexOf(DataBuffer dataBuffer, byte[] delimiter) { for (int i = dataBuffer.readPosition(); i < dataBuffer.writePosition(); i++) { int dataBufferPos = i; int delimiterPos = 0; while (delimiterPos < delimiter.length) { if (dataBuffer.getByte(dataBufferPos) != delimiter[delimiterPos]) { break; } else { dataBufferPos++; if (dataBufferPos == dataBuffer.writePosition() && delimiterPos != delimiter.length - 1) { return -1; } } delimiterPos++; } if (delimiterPos == delimiter.length) { return i - dataBuffer.readPosition(); } } return -1; }
@Override public byte getByte(int index) { return this.dataBuffer.getByte(index); }
@Override public byte getByte(int index) { return this.dataBuffer.getByte(index); }
/** * Find the given delimiter in the given data buffer. * @return the index of the delimiter, or -1 if not found. */ private static int indexOf(DataBuffer dataBuffer, byte[] delimiter) { for (int i = dataBuffer.readPosition(); i < dataBuffer.writePosition(); i++) { int dataBufferPos = i; int delimiterPos = 0; while (delimiterPos < delimiter.length) { if (dataBuffer.getByte(dataBufferPos) != delimiter[delimiterPos]) { break; } else { dataBufferPos++; if (dataBufferPos == dataBuffer.writePosition() && delimiterPos != delimiter.length - 1) { return -1; } } delimiterPos++; } if (delimiterPos == delimiter.length) { return i - dataBuffer.readPosition(); } } return -1; }
/** * Find the given delimiter in the given data buffer. * @return the index of the delimiter, or -1 if not found. */ private static int indexOf(DataBuffer dataBuffer, byte[] delimiter) { for (int i = dataBuffer.readPosition(); i < dataBuffer.writePosition(); i++) { int dataBufferPos = i; int delimiterPos = 0; while (delimiterPos < delimiter.length) { if (dataBuffer.getByte(dataBufferPos) != delimiter[delimiterPos]) { break; } else { dataBufferPos++; if (dataBufferPos == dataBuffer.writePosition() && delimiterPos != delimiter.length - 1) { return -1; } } delimiterPos++; } if (delimiterPos == delimiter.length) { return i - dataBuffer.readPosition(); } } return -1; }