Merge pull request #664 from netty/method_chaining
Add support for method chaining to ByteBuf
This commit is contained in:
commit
d3c270b0b5
@ -74,12 +74,13 @@ public abstract class AbstractByteBuf implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readerIndex(int readerIndex) {
|
public ByteBuf readerIndex(int readerIndex) {
|
||||||
if (readerIndex < 0 || readerIndex > writerIndex) {
|
if (readerIndex < 0 || readerIndex > writerIndex) {
|
||||||
throw new IndexOutOfBoundsException("Invalid readerIndex: "
|
throw new IndexOutOfBoundsException("Invalid readerIndex: "
|
||||||
+ readerIndex + " - Maximum is " + writerIndex);
|
+ readerIndex + " - Maximum is " + writerIndex);
|
||||||
}
|
}
|
||||||
this.readerIndex = readerIndex;
|
this.readerIndex = readerIndex;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -88,16 +89,17 @@ public abstract class AbstractByteBuf implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writerIndex(int writerIndex) {
|
public ByteBuf writerIndex(int writerIndex) {
|
||||||
if (writerIndex < readerIndex || writerIndex > capacity()) {
|
if (writerIndex < readerIndex || writerIndex > capacity()) {
|
||||||
throw new IndexOutOfBoundsException("Invalid writerIndex: "
|
throw new IndexOutOfBoundsException("Invalid writerIndex: "
|
||||||
+ writerIndex + " - Maximum is " + readerIndex + " or " + capacity());
|
+ writerIndex + " - Maximum is " + readerIndex + " or " + capacity());
|
||||||
}
|
}
|
||||||
this.writerIndex = writerIndex;
|
this.writerIndex = writerIndex;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setIndex(int readerIndex, int writerIndex) {
|
public ByteBuf setIndex(int readerIndex, int writerIndex) {
|
||||||
if (readerIndex < 0 || readerIndex > writerIndex || writerIndex > capacity()) {
|
if (readerIndex < 0 || readerIndex > writerIndex || writerIndex > capacity()) {
|
||||||
throw new IndexOutOfBoundsException("Invalid indexes: readerIndex is "
|
throw new IndexOutOfBoundsException("Invalid indexes: readerIndex is "
|
||||||
+ readerIndex + ", writerIndex is "
|
+ readerIndex + ", writerIndex is "
|
||||||
@ -105,11 +107,13 @@ public abstract class AbstractByteBuf implements ByteBuf {
|
|||||||
}
|
}
|
||||||
this.readerIndex = readerIndex;
|
this.readerIndex = readerIndex;
|
||||||
this.writerIndex = writerIndex;
|
this.writerIndex = writerIndex;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void clear() {
|
public ByteBuf clear() {
|
||||||
readerIndex = writerIndex = 0;
|
readerIndex = writerIndex = 0;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -133,29 +137,33 @@ public abstract class AbstractByteBuf implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void markReaderIndex() {
|
public ByteBuf markReaderIndex() {
|
||||||
markedReaderIndex = readerIndex;
|
markedReaderIndex = readerIndex;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resetReaderIndex() {
|
public ByteBuf resetReaderIndex() {
|
||||||
readerIndex(markedReaderIndex);
|
readerIndex(markedReaderIndex);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void markWriterIndex() {
|
public ByteBuf markWriterIndex() {
|
||||||
markedWriterIndex = writerIndex;
|
markedWriterIndex = writerIndex;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resetWriterIndex() {
|
public ByteBuf resetWriterIndex() {
|
||||||
writerIndex = markedWriterIndex;
|
writerIndex = markedWriterIndex;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void discardReadBytes() {
|
public ByteBuf discardReadBytes() {
|
||||||
if (readerIndex == 0) {
|
if (readerIndex == 0) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (readerIndex != writerIndex) {
|
if (readerIndex != writerIndex) {
|
||||||
@ -167,6 +175,7 @@ public abstract class AbstractByteBuf implements ByteBuf {
|
|||||||
adjustMarkers(readerIndex);
|
adjustMarkers(readerIndex);
|
||||||
writerIndex = readerIndex = 0;
|
writerIndex = readerIndex = 0;
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void adjustMarkers(int decrement) {
|
protected void adjustMarkers(int decrement) {
|
||||||
@ -175,14 +184,14 @@ public abstract class AbstractByteBuf implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void ensureWritableBytes(int minWritableBytes) {
|
public ByteBuf ensureWritableBytes(int minWritableBytes) {
|
||||||
if (minWritableBytes < 0) {
|
if (minWritableBytes < 0) {
|
||||||
throw new IllegalArgumentException(String.format(
|
throw new IllegalArgumentException(String.format(
|
||||||
"minWritableBytes: %d (expected: >= 0)", minWritableBytes));
|
"minWritableBytes: %d (expected: >= 0)", minWritableBytes));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (minWritableBytes <= writableBytes()) {
|
if (minWritableBytes <= writableBytes()) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (minWritableBytes > maxCapacity - writerIndex) {
|
if (minWritableBytes > maxCapacity - writerIndex) {
|
||||||
@ -196,6 +205,7 @@ public abstract class AbstractByteBuf implements ByteBuf {
|
|||||||
|
|
||||||
// Adjust to the new capacity.
|
// Adjust to the new capacity.
|
||||||
capacity(newCapacity);
|
capacity(newCapacity);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -317,69 +327,79 @@ public abstract class AbstractByteBuf implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, byte[] dst) {
|
public ByteBuf getBytes(int index, byte[] dst) {
|
||||||
getBytes(index, dst, 0, dst.length);
|
getBytes(index, dst, 0, dst.length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuf dst) {
|
public ByteBuf getBytes(int index, ByteBuf dst) {
|
||||||
getBytes(index, dst, dst.writableBytes());
|
getBytes(index, dst, dst.writableBytes());
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuf dst, int length) {
|
public ByteBuf getBytes(int index, ByteBuf dst, int length) {
|
||||||
if (length > dst.writableBytes()) {
|
if (length > dst.writableBytes()) {
|
||||||
throw new IndexOutOfBoundsException("Too many bytes to be read: Need "
|
throw new IndexOutOfBoundsException("Too many bytes to be read: Need "
|
||||||
+ length + ", maximum is " + dst.writableBytes());
|
+ length + ", maximum is " + dst.writableBytes());
|
||||||
}
|
}
|
||||||
getBytes(index, dst, dst.writerIndex(), length);
|
getBytes(index, dst, dst.writerIndex(), length);
|
||||||
dst.writerIndex(dst.writerIndex() + length);
|
dst.writerIndex(dst.writerIndex() + length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBoolean(int index, boolean value) {
|
public ByteBuf setBoolean(int index, boolean value) {
|
||||||
setByte(index, value ? 1 : 0);
|
setByte(index, value ? 1 : 0);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setChar(int index, int value) {
|
public ByteBuf setChar(int index, int value) {
|
||||||
setShort(index, value);
|
setShort(index, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setFloat(int index, float value) {
|
public ByteBuf setFloat(int index, float value) {
|
||||||
setInt(index, Float.floatToRawIntBits(value));
|
setInt(index, Float.floatToRawIntBits(value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setDouble(int index, double value) {
|
public ByteBuf setDouble(int index, double value) {
|
||||||
setLong(index, Double.doubleToRawLongBits(value));
|
setLong(index, Double.doubleToRawLongBits(value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, byte[] src) {
|
public ByteBuf setBytes(int index, byte[] src) {
|
||||||
setBytes(index, src, 0, src.length);
|
setBytes(index, src, 0, src.length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuf src) {
|
public ByteBuf setBytes(int index, ByteBuf src) {
|
||||||
setBytes(index, src, src.readableBytes());
|
setBytes(index, src, src.readableBytes());
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuf src, int length) {
|
public ByteBuf setBytes(int index, ByteBuf src, int length) {
|
||||||
if (length > src.readableBytes()) {
|
if (length > src.readableBytes()) {
|
||||||
throw new IndexOutOfBoundsException("Too many bytes to write: Need "
|
throw new IndexOutOfBoundsException("Too many bytes to write: Need "
|
||||||
+ length + ", maximum is " + src.readableBytes());
|
+ length + ", maximum is " + src.readableBytes());
|
||||||
}
|
}
|
||||||
setBytes(index, src, src.readerIndex(), length);
|
setBytes(index, src, src.readerIndex(), length);
|
||||||
src.readerIndex(src.readerIndex() + length);
|
src.readerIndex(src.readerIndex() + length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setZero(int index, int length) {
|
public ByteBuf setZero(int index, int length) {
|
||||||
if (length == 0) {
|
if (length == 0) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
if (length < 0) {
|
if (length < 0) {
|
||||||
throw new IllegalArgumentException(
|
throw new IllegalArgumentException(
|
||||||
@ -407,6 +427,7 @@ public abstract class AbstractByteBuf implements ByteBuf {
|
|||||||
index ++;
|
index ++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -514,45 +535,51 @@ public abstract class AbstractByteBuf implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(byte[] dst, int dstIndex, int length) {
|
public ByteBuf readBytes(byte[] dst, int dstIndex, int length) {
|
||||||
checkReadableBytes(length);
|
checkReadableBytes(length);
|
||||||
getBytes(readerIndex, dst, dstIndex, length);
|
getBytes(readerIndex, dst, dstIndex, length);
|
||||||
readerIndex += length;
|
readerIndex += length;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(byte[] dst) {
|
public ByteBuf readBytes(byte[] dst) {
|
||||||
readBytes(dst, 0, dst.length);
|
readBytes(dst, 0, dst.length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(ByteBuf dst) {
|
public ByteBuf readBytes(ByteBuf dst) {
|
||||||
readBytes(dst, dst.writableBytes());
|
readBytes(dst, dst.writableBytes());
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(ByteBuf dst, int length) {
|
public ByteBuf readBytes(ByteBuf dst, int length) {
|
||||||
if (length > dst.writableBytes()) {
|
if (length > dst.writableBytes()) {
|
||||||
throw new IndexOutOfBoundsException("Too many bytes to be read: Need "
|
throw new IndexOutOfBoundsException("Too many bytes to be read: Need "
|
||||||
+ length + ", maximum is " + dst.writableBytes());
|
+ length + ", maximum is " + dst.writableBytes());
|
||||||
}
|
}
|
||||||
readBytes(dst, dst.writerIndex(), length);
|
readBytes(dst, dst.writerIndex(), length);
|
||||||
dst.writerIndex(dst.writerIndex() + length);
|
dst.writerIndex(dst.writerIndex() + length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(ByteBuf dst, int dstIndex, int length) {
|
public ByteBuf readBytes(ByteBuf dst, int dstIndex, int length) {
|
||||||
checkReadableBytes(length);
|
checkReadableBytes(length);
|
||||||
getBytes(readerIndex, dst, dstIndex, length);
|
getBytes(readerIndex, dst, dstIndex, length);
|
||||||
readerIndex += length;
|
readerIndex += length;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(ByteBuffer dst) {
|
public ByteBuf readBytes(ByteBuffer dst) {
|
||||||
int length = dst.remaining();
|
int length = dst.remaining();
|
||||||
checkReadableBytes(length);
|
checkReadableBytes(length);
|
||||||
getBytes(readerIndex, dst);
|
getBytes(readerIndex, dst);
|
||||||
readerIndex += length;
|
readerIndex += length;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -565,116 +592,133 @@ public abstract class AbstractByteBuf implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(OutputStream out, int length) throws IOException {
|
public ByteBuf readBytes(OutputStream out, int length) throws IOException {
|
||||||
checkReadableBytes(length);
|
checkReadableBytes(length);
|
||||||
getBytes(readerIndex, out, length);
|
getBytes(readerIndex, out, length);
|
||||||
readerIndex += length;
|
readerIndex += length;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void skipBytes(int length) {
|
public ByteBuf skipBytes(int length) {
|
||||||
int newReaderIndex = readerIndex + length;
|
int newReaderIndex = readerIndex + length;
|
||||||
if (newReaderIndex > writerIndex) {
|
if (newReaderIndex > writerIndex) {
|
||||||
throw new IndexOutOfBoundsException("Readable bytes exceeded - Need "
|
throw new IndexOutOfBoundsException("Readable bytes exceeded - Need "
|
||||||
+ newReaderIndex + ", maximum is " + writerIndex);
|
+ newReaderIndex + ", maximum is " + writerIndex);
|
||||||
}
|
}
|
||||||
readerIndex = newReaderIndex;
|
readerIndex = newReaderIndex;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBoolean(boolean value) {
|
public ByteBuf writeBoolean(boolean value) {
|
||||||
writeByte(value ? 1 : 0);
|
writeByte(value ? 1 : 0);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeByte(int value) {
|
public ByteBuf writeByte(int value) {
|
||||||
ensureWritableBytes(1);
|
ensureWritableBytes(1);
|
||||||
setByte(writerIndex ++, value);
|
setByte(writerIndex ++, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeShort(int value) {
|
public ByteBuf writeShort(int value) {
|
||||||
ensureWritableBytes(2);
|
ensureWritableBytes(2);
|
||||||
setShort(writerIndex, value);
|
setShort(writerIndex, value);
|
||||||
writerIndex += 2;
|
writerIndex += 2;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeMedium(int value) {
|
public ByteBuf writeMedium(int value) {
|
||||||
ensureWritableBytes(3);
|
ensureWritableBytes(3);
|
||||||
setMedium(writerIndex, value);
|
setMedium(writerIndex, value);
|
||||||
writerIndex += 3;
|
writerIndex += 3;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeInt(int value) {
|
public ByteBuf writeInt(int value) {
|
||||||
ensureWritableBytes(4);
|
ensureWritableBytes(4);
|
||||||
setInt(writerIndex, value);
|
setInt(writerIndex, value);
|
||||||
writerIndex += 4;
|
writerIndex += 4;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeLong(long value) {
|
public ByteBuf writeLong(long value) {
|
||||||
ensureWritableBytes(8);
|
ensureWritableBytes(8);
|
||||||
setLong(writerIndex, value);
|
setLong(writerIndex, value);
|
||||||
writerIndex += 8;
|
writerIndex += 8;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeChar(int value) {
|
public ByteBuf writeChar(int value) {
|
||||||
writeShort(value);
|
writeShort(value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeFloat(float value) {
|
public ByteBuf writeFloat(float value) {
|
||||||
writeInt(Float.floatToRawIntBits(value));
|
writeInt(Float.floatToRawIntBits(value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeDouble(double value) {
|
public ByteBuf writeDouble(double value) {
|
||||||
writeLong(Double.doubleToRawLongBits(value));
|
writeLong(Double.doubleToRawLongBits(value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(byte[] src, int srcIndex, int length) {
|
public ByteBuf writeBytes(byte[] src, int srcIndex, int length) {
|
||||||
ensureWritableBytes(length);
|
ensureWritableBytes(length);
|
||||||
setBytes(writerIndex, src, srcIndex, length);
|
setBytes(writerIndex, src, srcIndex, length);
|
||||||
writerIndex += length;
|
writerIndex += length;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(byte[] src) {
|
public ByteBuf writeBytes(byte[] src) {
|
||||||
writeBytes(src, 0, src.length);
|
writeBytes(src, 0, src.length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(ByteBuf src) {
|
public ByteBuf writeBytes(ByteBuf src) {
|
||||||
writeBytes(src, src.readableBytes());
|
writeBytes(src, src.readableBytes());
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(ByteBuf src, int length) {
|
public ByteBuf writeBytes(ByteBuf src, int length) {
|
||||||
if (length > src.readableBytes()) {
|
if (length > src.readableBytes()) {
|
||||||
throw new IndexOutOfBoundsException("Too many bytes to write - Need "
|
throw new IndexOutOfBoundsException("Too many bytes to write - Need "
|
||||||
+ length + ", maximum is " + src.readableBytes());
|
+ length + ", maximum is " + src.readableBytes());
|
||||||
}
|
}
|
||||||
writeBytes(src, src.readerIndex(), length);
|
writeBytes(src, src.readerIndex(), length);
|
||||||
src.readerIndex(src.readerIndex() + length);
|
src.readerIndex(src.readerIndex() + length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(ByteBuf src, int srcIndex, int length) {
|
public ByteBuf writeBytes(ByteBuf src, int srcIndex, int length) {
|
||||||
ensureWritableBytes(length);
|
ensureWritableBytes(length);
|
||||||
setBytes(writerIndex, src, srcIndex, length);
|
setBytes(writerIndex, src, srcIndex, length);
|
||||||
writerIndex += length;
|
writerIndex += length;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(ByteBuffer src) {
|
public ByteBuf writeBytes(ByteBuffer src) {
|
||||||
int length = src.remaining();
|
int length = src.remaining();
|
||||||
ensureWritableBytes(length);
|
ensureWritableBytes(length);
|
||||||
setBytes(writerIndex, src);
|
setBytes(writerIndex, src);
|
||||||
writerIndex += length;
|
writerIndex += length;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -700,9 +744,9 @@ public abstract class AbstractByteBuf implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeZero(int length) {
|
public ByteBuf writeZero(int length) {
|
||||||
if (length == 0) {
|
if (length == 0) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
if (length < 0) {
|
if (length < 0) {
|
||||||
throw new IllegalArgumentException(
|
throw new IllegalArgumentException(
|
||||||
@ -725,6 +769,7 @@ public abstract class AbstractByteBuf implements ByteBuf {
|
|||||||
writeByte((byte) 0);
|
writeByte((byte) 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
261
buffer/src/main/java/io/netty/buffer/AbstractWrappedByteBuf.java
Normal file
261
buffer/src/main/java/io/netty/buffer/AbstractWrappedByteBuf.java
Normal file
@ -0,0 +1,261 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2012 The Netty Project
|
||||||
|
*
|
||||||
|
* The Netty Project licenses this file to you under the Apache License,
|
||||||
|
* version 2.0 (the "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at:
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
* License for the specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
package io.netty.buffer;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
import java.nio.ByteOrder;
|
||||||
|
import java.nio.ReadOnlyBufferException;
|
||||||
|
|
||||||
|
public abstract class AbstractWrappedByteBuf extends AbstractByteBuf implements WrappedByteBuf {
|
||||||
|
|
||||||
|
protected AbstractWrappedByteBuf(ByteOrder endianness, int maxCapacity) {
|
||||||
|
super(endianness, maxCapacity);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf capacity(int newCapacity) {
|
||||||
|
throw new ReadOnlyBufferException();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf discardReadBytes() {
|
||||||
|
return (WrappedByteBuf) super.discardReadBytes();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf readerIndex(int readerIndex) {
|
||||||
|
return (WrappedByteBuf) super.readerIndex(readerIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writerIndex(int writerIndex) {
|
||||||
|
return (WrappedByteBuf) super.writerIndex(writerIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf setIndex(int readerIndex, int writerIndex) {
|
||||||
|
return (WrappedByteBuf) super.setIndex(readerIndex, writerIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf clear() {
|
||||||
|
return (WrappedByteBuf) super.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf markReaderIndex() {
|
||||||
|
return (WrappedByteBuf) super.markReaderIndex();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf resetReaderIndex() {
|
||||||
|
return (WrappedByteBuf) super.resetReaderIndex();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf markWriterIndex() {
|
||||||
|
return (WrappedByteBuf) super.markWriterIndex();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf resetWriterIndex() {
|
||||||
|
return (WrappedByteBuf) super.resetWriterIndex();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf ensureWritableBytes(int minWritableBytes) {
|
||||||
|
return (WrappedByteBuf) super.ensureWritableBytes(minWritableBytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf getBytes(int index, ByteBuf dst) {
|
||||||
|
return (WrappedByteBuf) super.getBytes(index, dst);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf getBytes(int index, ByteBuf dst, int length) {
|
||||||
|
return (WrappedByteBuf) super.getBytes(index, dst, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf getBytes(int index, byte[] dst) {
|
||||||
|
return (WrappedByteBuf) super.getBytes(index, dst);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf setBoolean(int index, boolean value) {
|
||||||
|
return (WrappedByteBuf) super.setBoolean(index, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf setChar(int index, int value) {
|
||||||
|
return (WrappedByteBuf) super.setChar(index, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf setFloat(int index, float value) {
|
||||||
|
return (WrappedByteBuf) super.setFloat(index, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf setDouble(int index, double value) {
|
||||||
|
return (WrappedByteBuf) super.setDouble(index, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf setBytes(int index, ByteBuf src) {
|
||||||
|
return (WrappedByteBuf) super.setBytes(index, src);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf setBytes(int index, ByteBuf src, int length) {
|
||||||
|
return (WrappedByteBuf) super.setBytes(index, src, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf setBytes(int index, byte[] src) {
|
||||||
|
return (WrappedByteBuf) super.setBytes(index, src);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf setZero(int index, int length) {
|
||||||
|
return (WrappedByteBuf) super.setZero(index, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf readBytes(ByteBuf dst) {
|
||||||
|
return (WrappedByteBuf) super.readBytes(dst);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf readBytes(ByteBuf dst, int length) {
|
||||||
|
return (WrappedByteBuf) super.readBytes(dst, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf readBytes(ByteBuf dst, int dstIndex, int length) {
|
||||||
|
return (WrappedByteBuf) super.readBytes(dst, dstIndex, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf readBytes(byte[] dst) {
|
||||||
|
return (WrappedByteBuf) super.readBytes(dst);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf readBytes(byte[] dst, int dstIndex, int length) {
|
||||||
|
return (WrappedByteBuf) super.readBytes(dst, dstIndex, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf readBytes(ByteBuffer dst) {
|
||||||
|
return (WrappedByteBuf) super.readBytes(dst);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf readBytes(OutputStream out, int length) throws IOException {
|
||||||
|
return (WrappedByteBuf) super.readBytes(out, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf skipBytes(int length) {
|
||||||
|
return (WrappedByteBuf) super.skipBytes(length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeBoolean(boolean value) {
|
||||||
|
return (WrappedByteBuf) super.writeBoolean(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeByte(int value) {
|
||||||
|
return (WrappedByteBuf) super.writeByte(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeShort(int value) {
|
||||||
|
return (WrappedByteBuf) super.writeShort(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeMedium(int value) {
|
||||||
|
return (WrappedByteBuf) super.writeMedium(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeInt(int value) {
|
||||||
|
return (WrappedByteBuf) super.writeInt(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeLong(long value) {
|
||||||
|
return (WrappedByteBuf) super.writeLong(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeChar(int value) {
|
||||||
|
return (WrappedByteBuf) super.writeChar(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeFloat(float value) {
|
||||||
|
return (WrappedByteBuf) super.writeFloat(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeDouble(double value) {
|
||||||
|
return (WrappedByteBuf) super.writeDouble(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeBytes(ByteBuf src) {
|
||||||
|
return (WrappedByteBuf) super.writeBytes(src);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeBytes(ByteBuf src, int length) {
|
||||||
|
return (WrappedByteBuf) super.writeBytes(src, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeBytes(ByteBuf src, int srcIndex, int length) {
|
||||||
|
return (WrappedByteBuf) super.writeBytes(src, srcIndex, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeBytes(byte[] src) {
|
||||||
|
return (WrappedByteBuf) super.writeBytes(src);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeBytes(byte[] src, int srcIndex, int length) {
|
||||||
|
return (WrappedByteBuf) super.writeBytes(src, srcIndex, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeBytes(ByteBuffer src) {
|
||||||
|
return (WrappedByteBuf) super.writeBytes(src);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WrappedByteBuf writeZero(int length) {
|
||||||
|
return (WrappedByteBuf) super.writeZero(length);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -241,7 +241,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* than the current capacity, the buffer is appended with unspecified data whose length is
|
* than the current capacity, the buffer is appended with unspecified data whose length is
|
||||||
* {@code (newCapacity - currentCapacity)}.
|
* {@code (newCapacity - currentCapacity)}.
|
||||||
*/
|
*/
|
||||||
void capacity(int newCapacity);
|
ByteBuf capacity(int newCapacity);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the maximum allowed capacity of this buffer. If a user attempts to increase the
|
* Returns the maximum allowed capacity of this buffer. If a user attempts to increase the
|
||||||
@ -286,7 +286,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* less than {@code 0} or
|
* less than {@code 0} or
|
||||||
* greater than {@code this.writerIndex}
|
* greater than {@code this.writerIndex}
|
||||||
*/
|
*/
|
||||||
void readerIndex(int readerIndex);
|
ByteBuf readerIndex(int readerIndex);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the {@code writerIndex} of this buffer.
|
* Returns the {@code writerIndex} of this buffer.
|
||||||
@ -301,7 +301,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* less than {@code this.readerIndex} or
|
* less than {@code this.readerIndex} or
|
||||||
* greater than {@code this.capacity}
|
* greater than {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void writerIndex(int writerIndex);
|
ByteBuf writerIndex(int writerIndex);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the {@code readerIndex} and {@code writerIndex} of this buffer
|
* Sets the {@code readerIndex} and {@code writerIndex} of this buffer
|
||||||
@ -354,7 +354,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* {@code readerIndex} or if the specified {@code writerIndex} is
|
* {@code readerIndex} or if the specified {@code writerIndex} is
|
||||||
* greater than {@code this.capacity}
|
* greater than {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void setIndex(int readerIndex, int writerIndex);
|
ByteBuf setIndex(int readerIndex, int writerIndex);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the number of readable bytes which is equal to
|
* Returns the number of readable bytes which is equal to
|
||||||
@ -391,7 +391,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* from that of NIO buffer, which sets the {@code limit} to
|
* from that of NIO buffer, which sets the {@code limit} to
|
||||||
* the {@code capacity} of the buffer.
|
* the {@code capacity} of the buffer.
|
||||||
*/
|
*/
|
||||||
void clear();
|
ByteBuf clear();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Marks the current {@code readerIndex} in this buffer. You can
|
* Marks the current {@code readerIndex} in this buffer. You can
|
||||||
@ -399,7 +399,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* {@code readerIndex} by calling {@link #resetReaderIndex()}.
|
* {@code readerIndex} by calling {@link #resetReaderIndex()}.
|
||||||
* The initial value of the marked {@code readerIndex} is {@code 0}.
|
* The initial value of the marked {@code readerIndex} is {@code 0}.
|
||||||
*/
|
*/
|
||||||
void markReaderIndex();
|
ByteBuf markReaderIndex();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Repositions the current {@code readerIndex} to the marked
|
* Repositions the current {@code readerIndex} to the marked
|
||||||
@ -409,7 +409,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if the current {@code writerIndex} is less than the marked
|
* if the current {@code writerIndex} is less than the marked
|
||||||
* {@code readerIndex}
|
* {@code readerIndex}
|
||||||
*/
|
*/
|
||||||
void resetReaderIndex();
|
ByteBuf resetReaderIndex();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Marks the current {@code writerIndex} in this buffer. You can
|
* Marks the current {@code writerIndex} in this buffer. You can
|
||||||
@ -417,7 +417,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* {@code writerIndex} by calling {@link #resetWriterIndex()}.
|
* {@code writerIndex} by calling {@link #resetWriterIndex()}.
|
||||||
* The initial value of the marked {@code writerIndex} is {@code 0}.
|
* The initial value of the marked {@code writerIndex} is {@code 0}.
|
||||||
*/
|
*/
|
||||||
void markWriterIndex();
|
ByteBuf markWriterIndex();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Repositions the current {@code writerIndex} to the marked
|
* Repositions the current {@code writerIndex} to the marked
|
||||||
@ -427,7 +427,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if the current {@code readerIndex} is greater than the marked
|
* if the current {@code readerIndex} is greater than the marked
|
||||||
* {@code writerIndex}
|
* {@code writerIndex}
|
||||||
*/
|
*/
|
||||||
void resetWriterIndex();
|
ByteBuf resetWriterIndex();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Discards the bytes between the 0th index and {@code readerIndex}.
|
* Discards the bytes between the 0th index and {@code readerIndex}.
|
||||||
@ -437,7 +437,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* <p>
|
* <p>
|
||||||
* Please refer to the class documentation for more detailed explanation.
|
* Please refer to the class documentation for more detailed explanation.
|
||||||
*/
|
*/
|
||||||
void discardReadBytes();
|
ByteBuf discardReadBytes();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Makes sure the number of {@linkplain #writableBytes() the writable bytes}
|
* Makes sure the number of {@linkplain #writableBytes() the writable bytes}
|
||||||
@ -450,7 +450,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IndexOutOfBoundsException
|
* @throws IndexOutOfBoundsException
|
||||||
* if {@link #writerIndex()} + {@code minWritableBytes} > {@link #maxCapacity()}
|
* if {@link #writerIndex()} + {@code minWritableBytes} > {@link #maxCapacity()}
|
||||||
*/
|
*/
|
||||||
void ensureWritableBytes(int minWritableBytes);
|
ByteBuf ensureWritableBytes(int minWritableBytes);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tries to make sure the number of {@linkplain #writableBytes() the writable bytes}
|
* Tries to make sure the number of {@linkplain #writableBytes() the writable bytes}
|
||||||
@ -632,7 +632,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code index + dst.writableBytes} is greater than
|
* if {@code index + dst.writableBytes} is greater than
|
||||||
* {@code this.capacity}
|
* {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void getBytes(int index, ByteBuf dst);
|
ByteBuf getBytes(int index, ByteBuf dst);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers this buffer's data to the specified destination starting at
|
* Transfers this buffer's data to the specified destination starting at
|
||||||
@ -652,7 +652,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* {@code this.capacity}, or
|
* {@code this.capacity}, or
|
||||||
* if {@code length} is greater than {@code dst.writableBytes}
|
* if {@code length} is greater than {@code dst.writableBytes}
|
||||||
*/
|
*/
|
||||||
void getBytes(int index, ByteBuf dst, int length);
|
ByteBuf getBytes(int index, ByteBuf dst, int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers this buffer's data to the specified destination starting at
|
* Transfers this buffer's data to the specified destination starting at
|
||||||
@ -671,7 +671,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code dstIndex + length} is greater than
|
* if {@code dstIndex + length} is greater than
|
||||||
* {@code dst.capacity}
|
* {@code dst.capacity}
|
||||||
*/
|
*/
|
||||||
void getBytes(int index, ByteBuf dst, int dstIndex, int length);
|
ByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers this buffer's data to the specified destination starting at
|
* Transfers this buffer's data to the specified destination starting at
|
||||||
@ -684,7 +684,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code index + dst.length} is greater than
|
* if {@code index + dst.length} is greater than
|
||||||
* {@code this.capacity}
|
* {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void getBytes(int index, byte[] dst);
|
ByteBuf getBytes(int index, byte[] dst);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers this buffer's data to the specified destination starting at
|
* Transfers this buffer's data to the specified destination starting at
|
||||||
@ -703,7 +703,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code dstIndex + length} is greater than
|
* if {@code dstIndex + length} is greater than
|
||||||
* {@code dst.length}
|
* {@code dst.length}
|
||||||
*/
|
*/
|
||||||
void getBytes(int index, byte[] dst, int dstIndex, int length);
|
ByteBuf getBytes(int index, byte[] dst, int dstIndex, int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers this buffer's data to the specified destination starting at
|
* Transfers this buffer's data to the specified destination starting at
|
||||||
@ -717,7 +717,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code index + dst.remaining()} is greater than
|
* if {@code index + dst.remaining()} is greater than
|
||||||
* {@code this.capacity}
|
* {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void getBytes(int index, ByteBuffer dst);
|
ByteBuf getBytes(int index, ByteBuffer dst);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers this buffer's data to the specified stream starting at the
|
* Transfers this buffer's data to the specified stream starting at the
|
||||||
@ -734,7 +734,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IOException
|
* @throws IOException
|
||||||
* if the specified stream threw an exception during I/O
|
* if the specified stream threw an exception during I/O
|
||||||
*/
|
*/
|
||||||
void getBytes(int index, OutputStream out, int length) throws IOException;
|
ByteBuf getBytes(int index, OutputStream out, int length) throws IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers this buffer's data to the specified channel starting at the
|
* Transfers this buffer's data to the specified channel starting at the
|
||||||
@ -765,7 +765,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if the specified {@code index} is less than {@code 0} or
|
* if the specified {@code index} is less than {@code 0} or
|
||||||
* {@code index + 1} is greater than {@code this.capacity}
|
* {@code index + 1} is greater than {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void setBoolean(int index, boolean value);
|
ByteBuf setBoolean(int index, boolean value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified byte at the specified absolute {@code index} in this
|
* Sets the specified byte at the specified absolute {@code index} in this
|
||||||
@ -777,7 +777,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if the specified {@code index} is less than {@code 0} or
|
* if the specified {@code index} is less than {@code 0} or
|
||||||
* {@code index + 1} is greater than {@code this.capacity}
|
* {@code index + 1} is greater than {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void setByte(int index, int value);
|
ByteBuf setByte(int index, int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified 16-bit short integer at the specified absolute
|
* Sets the specified 16-bit short integer at the specified absolute
|
||||||
@ -790,7 +790,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if the specified {@code index} is less than {@code 0} or
|
* if the specified {@code index} is less than {@code 0} or
|
||||||
* {@code index + 2} is greater than {@code this.capacity}
|
* {@code index + 2} is greater than {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void setShort(int index, int value);
|
ByteBuf setShort(int index, int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified 24-bit medium integer at the specified absolute
|
* Sets the specified 24-bit medium integer at the specified absolute
|
||||||
@ -803,7 +803,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if the specified {@code index} is less than {@code 0} or
|
* if the specified {@code index} is less than {@code 0} or
|
||||||
* {@code index + 3} is greater than {@code this.capacity}
|
* {@code index + 3} is greater than {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void setMedium(int index, int value);
|
ByteBuf setMedium(int index, int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified 32-bit integer at the specified absolute
|
* Sets the specified 32-bit integer at the specified absolute
|
||||||
@ -815,7 +815,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if the specified {@code index} is less than {@code 0} or
|
* if the specified {@code index} is less than {@code 0} or
|
||||||
* {@code index + 4} is greater than {@code this.capacity}
|
* {@code index + 4} is greater than {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void setInt(int index, int value);
|
ByteBuf setInt(int index, int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified 64-bit long integer at the specified absolute
|
* Sets the specified 64-bit long integer at the specified absolute
|
||||||
@ -827,7 +827,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if the specified {@code index} is less than {@code 0} or
|
* if the specified {@code index} is less than {@code 0} or
|
||||||
* {@code index + 8} is greater than {@code this.capacity}
|
* {@code index + 8} is greater than {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void setLong(int index, long value);
|
ByteBuf setLong(int index, long value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified 2-byte UTF-16 character at the specified absolute
|
* Sets the specified 2-byte UTF-16 character at the specified absolute
|
||||||
@ -840,7 +840,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if the specified {@code index} is less than {@code 0} or
|
* if the specified {@code index} is less than {@code 0} or
|
||||||
* {@code index + 2} is greater than {@code this.capacity}
|
* {@code index + 2} is greater than {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void setChar(int index, int value);
|
ByteBuf setChar(int index, int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified 32-bit floating-point number at the specified
|
* Sets the specified 32-bit floating-point number at the specified
|
||||||
@ -852,7 +852,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if the specified {@code index} is less than {@code 0} or
|
* if the specified {@code index} is less than {@code 0} or
|
||||||
* {@code index + 4} is greater than {@code this.capacity}
|
* {@code index + 4} is greater than {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void setFloat(int index, float value);
|
ByteBuf setFloat(int index, float value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified 64-bit floating-point number at the specified
|
* Sets the specified 64-bit floating-point number at the specified
|
||||||
@ -864,7 +864,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if the specified {@code index} is less than {@code 0} or
|
* if the specified {@code index} is less than {@code 0} or
|
||||||
* {@code index + 8} is greater than {@code this.capacity}
|
* {@code index + 8} is greater than {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void setDouble(int index, double value);
|
ByteBuf setDouble(int index, double value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers the specified source buffer's data to this buffer starting at
|
* Transfers the specified source buffer's data to this buffer starting at
|
||||||
@ -882,7 +882,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code index + src.readableBytes} is greater than
|
* if {@code index + src.readableBytes} is greater than
|
||||||
* {@code this.capacity}
|
* {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void setBytes(int index, ByteBuf src);
|
ByteBuf setBytes(int index, ByteBuf src);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers the specified source buffer's data to this buffer starting at
|
* Transfers the specified source buffer's data to this buffer starting at
|
||||||
@ -902,7 +902,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* {@code this.capacity}, or
|
* {@code this.capacity}, or
|
||||||
* if {@code length} is greater than {@code src.readableBytes}
|
* if {@code length} is greater than {@code src.readableBytes}
|
||||||
*/
|
*/
|
||||||
void setBytes(int index, ByteBuf src, int length);
|
ByteBuf setBytes(int index, ByteBuf src, int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers the specified source buffer's data to this buffer starting at
|
* Transfers the specified source buffer's data to this buffer starting at
|
||||||
@ -921,7 +921,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code srcIndex + length} is greater than
|
* if {@code srcIndex + length} is greater than
|
||||||
* {@code src.capacity}
|
* {@code src.capacity}
|
||||||
*/
|
*/
|
||||||
void setBytes(int index, ByteBuf src, int srcIndex, int length);
|
ByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers the specified source array's data to this buffer starting at
|
* Transfers the specified source array's data to this buffer starting at
|
||||||
@ -934,7 +934,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code index + src.length} is greater than
|
* if {@code index + src.length} is greater than
|
||||||
* {@code this.capacity}
|
* {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void setBytes(int index, byte[] src);
|
ByteBuf setBytes(int index, byte[] src);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers the specified source array's data to this buffer starting at
|
* Transfers the specified source array's data to this buffer starting at
|
||||||
@ -949,7 +949,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* {@code this.capacity}, or
|
* {@code this.capacity}, or
|
||||||
* if {@code srcIndex + length} is greater than {@code src.length}
|
* if {@code srcIndex + length} is greater than {@code src.length}
|
||||||
*/
|
*/
|
||||||
void setBytes(int index, byte[] src, int srcIndex, int length);
|
ByteBuf setBytes(int index, byte[] src, int srcIndex, int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers the specified source buffer's data to this buffer starting at
|
* Transfers the specified source buffer's data to this buffer starting at
|
||||||
@ -963,7 +963,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code index + src.remaining()} is greater than
|
* if {@code index + src.remaining()} is greater than
|
||||||
* {@code this.capacity}
|
* {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void setBytes(int index, ByteBuffer src);
|
ByteBuf setBytes(int index, ByteBuffer src);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers the content of the specified source stream to this buffer
|
* Transfers the content of the specified source stream to this buffer
|
||||||
@ -1015,7 +1015,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if the specified {@code index} is less than {@code 0} or
|
* if the specified {@code index} is less than {@code 0} or
|
||||||
* if {@code index + length} is greater than {@code this.capacity}
|
* if {@code index + length} is greater than {@code this.capacity}
|
||||||
*/
|
*/
|
||||||
void setZero(int index, int length);
|
ByteBuf setZero(int index, int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a boolean at the current {@code readerIndex} and increases
|
* Gets a boolean at the current {@code readerIndex} and increases
|
||||||
@ -1178,7 +1178,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code dst.writableBytes} is greater than
|
* if {@code dst.writableBytes} is greater than
|
||||||
* {@code this.readableBytes}
|
* {@code this.readableBytes}
|
||||||
*/
|
*/
|
||||||
void readBytes(ByteBuf dst);
|
ByteBuf readBytes(ByteBuf dst);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers this buffer's data to the specified destination starting at
|
* Transfers this buffer's data to the specified destination starting at
|
||||||
@ -1193,7 +1193,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code length} is greater than {@code this.readableBytes} or
|
* if {@code length} is greater than {@code this.readableBytes} or
|
||||||
* if {@code length} is greater than {@code dst.writableBytes}
|
* if {@code length} is greater than {@code dst.writableBytes}
|
||||||
*/
|
*/
|
||||||
void readBytes(ByteBuf dst, int length);
|
ByteBuf readBytes(ByteBuf dst, int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers this buffer's data to the specified destination starting at
|
* Transfers this buffer's data to the specified destination starting at
|
||||||
@ -1209,7 +1209,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code dstIndex + length} is greater than
|
* if {@code dstIndex + length} is greater than
|
||||||
* {@code dst.capacity}
|
* {@code dst.capacity}
|
||||||
*/
|
*/
|
||||||
void readBytes(ByteBuf dst, int dstIndex, int length);
|
ByteBuf readBytes(ByteBuf dst, int dstIndex, int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers this buffer's data to the specified destination starting at
|
* Transfers this buffer's data to the specified destination starting at
|
||||||
@ -1219,7 +1219,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IndexOutOfBoundsException
|
* @throws IndexOutOfBoundsException
|
||||||
* if {@code dst.length} is greater than {@code this.readableBytes}
|
* if {@code dst.length} is greater than {@code this.readableBytes}
|
||||||
*/
|
*/
|
||||||
void readBytes(byte[] dst);
|
ByteBuf readBytes(byte[] dst);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers this buffer's data to the specified destination starting at
|
* Transfers this buffer's data to the specified destination starting at
|
||||||
@ -1234,7 +1234,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code length} is greater than {@code this.readableBytes}, or
|
* if {@code length} is greater than {@code this.readableBytes}, or
|
||||||
* if {@code dstIndex + length} is greater than {@code dst.length}
|
* if {@code dstIndex + length} is greater than {@code dst.length}
|
||||||
*/
|
*/
|
||||||
void readBytes(byte[] dst, int dstIndex, int length);
|
ByteBuf readBytes(byte[] dst, int dstIndex, int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers this buffer's data to the specified destination starting at
|
* Transfers this buffer's data to the specified destination starting at
|
||||||
@ -1246,7 +1246,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code dst.remaining()} is greater than
|
* if {@code dst.remaining()} is greater than
|
||||||
* {@code this.readableBytes}
|
* {@code this.readableBytes}
|
||||||
*/
|
*/
|
||||||
void readBytes(ByteBuffer dst);
|
ByteBuf readBytes(ByteBuffer dst);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers this buffer's data to the specified stream starting at the
|
* Transfers this buffer's data to the specified stream starting at the
|
||||||
@ -1259,7 +1259,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IOException
|
* @throws IOException
|
||||||
* if the specified stream threw an exception during I/O
|
* if the specified stream threw an exception during I/O
|
||||||
*/
|
*/
|
||||||
void readBytes(OutputStream out, int length) throws IOException;
|
ByteBuf readBytes(OutputStream out, int length) throws IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers this buffer's data to the specified stream starting at the
|
* Transfers this buffer's data to the specified stream starting at the
|
||||||
@ -1283,7 +1283,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IndexOutOfBoundsException
|
* @throws IndexOutOfBoundsException
|
||||||
* if {@code length} is greater than {@code this.readableBytes}
|
* if {@code length} is greater than {@code this.readableBytes}
|
||||||
*/
|
*/
|
||||||
void skipBytes(int length);
|
ByteBuf skipBytes(int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified boolean at the current {@code writerIndex}
|
* Sets the specified boolean at the current {@code writerIndex}
|
||||||
@ -1292,7 +1292,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IndexOutOfBoundsException
|
* @throws IndexOutOfBoundsException
|
||||||
* if {@code this.writableBytes} is less than {@code 1}
|
* if {@code this.writableBytes} is less than {@code 1}
|
||||||
*/
|
*/
|
||||||
void writeBoolean(boolean value);
|
ByteBuf writeBoolean(boolean value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified byte at the current {@code writerIndex}
|
* Sets the specified byte at the current {@code writerIndex}
|
||||||
@ -1302,7 +1302,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IndexOutOfBoundsException
|
* @throws IndexOutOfBoundsException
|
||||||
* if {@code this.writableBytes} is less than {@code 1}
|
* if {@code this.writableBytes} is less than {@code 1}
|
||||||
*/
|
*/
|
||||||
void writeByte(int value);
|
ByteBuf writeByte(int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified 16-bit short integer at the current
|
* Sets the specified 16-bit short integer at the current
|
||||||
@ -1312,7 +1312,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IndexOutOfBoundsException
|
* @throws IndexOutOfBoundsException
|
||||||
* if {@code this.writableBytes} is less than {@code 2}
|
* if {@code this.writableBytes} is less than {@code 2}
|
||||||
*/
|
*/
|
||||||
void writeShort(int value);
|
ByteBuf writeShort(int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified 24-bit medium integer at the current
|
* Sets the specified 24-bit medium integer at the current
|
||||||
@ -1322,7 +1322,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IndexOutOfBoundsException
|
* @throws IndexOutOfBoundsException
|
||||||
* if {@code this.writableBytes} is less than {@code 3}
|
* if {@code this.writableBytes} is less than {@code 3}
|
||||||
*/
|
*/
|
||||||
void writeMedium(int value);
|
ByteBuf writeMedium(int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified 32-bit integer at the current {@code writerIndex}
|
* Sets the specified 32-bit integer at the current {@code writerIndex}
|
||||||
@ -1331,7 +1331,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IndexOutOfBoundsException
|
* @throws IndexOutOfBoundsException
|
||||||
* if {@code this.writableBytes} is less than {@code 4}
|
* if {@code this.writableBytes} is less than {@code 4}
|
||||||
*/
|
*/
|
||||||
void writeInt(int value);
|
ByteBuf writeInt(int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified 64-bit long integer at the current
|
* Sets the specified 64-bit long integer at the current
|
||||||
@ -1341,7 +1341,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IndexOutOfBoundsException
|
* @throws IndexOutOfBoundsException
|
||||||
* if {@code this.writableBytes} is less than {@code 8}
|
* if {@code this.writableBytes} is less than {@code 8}
|
||||||
*/
|
*/
|
||||||
void writeLong(long value);
|
ByteBuf writeLong(long value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified 2-byte UTF-16 character at the current
|
* Sets the specified 2-byte UTF-16 character at the current
|
||||||
@ -1351,7 +1351,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IndexOutOfBoundsException
|
* @throws IndexOutOfBoundsException
|
||||||
* if {@code this.writableBytes} is less than {@code 2}
|
* if {@code this.writableBytes} is less than {@code 2}
|
||||||
*/
|
*/
|
||||||
void writeChar(int value);
|
ByteBuf writeChar(int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified 32-bit floating point number at the current
|
* Sets the specified 32-bit floating point number at the current
|
||||||
@ -1361,7 +1361,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IndexOutOfBoundsException
|
* @throws IndexOutOfBoundsException
|
||||||
* if {@code this.writableBytes} is less than {@code 4}
|
* if {@code this.writableBytes} is less than {@code 4}
|
||||||
*/
|
*/
|
||||||
void writeFloat(float value);
|
ByteBuf writeFloat(float value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the specified 64-bit floating point number at the current
|
* Sets the specified 64-bit floating point number at the current
|
||||||
@ -1371,7 +1371,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IndexOutOfBoundsException
|
* @throws IndexOutOfBoundsException
|
||||||
* if {@code this.writableBytes} is less than {@code 8}
|
* if {@code this.writableBytes} is less than {@code 8}
|
||||||
*/
|
*/
|
||||||
void writeDouble(double value);
|
ByteBuf writeDouble(double value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers the specified source buffer's data to this buffer starting at
|
* Transfers the specified source buffer's data to this buffer starting at
|
||||||
@ -1387,7 +1387,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code src.readableBytes} is greater than
|
* if {@code src.readableBytes} is greater than
|
||||||
* {@code this.writableBytes}
|
* {@code this.writableBytes}
|
||||||
*/
|
*/
|
||||||
void writeBytes(ByteBuf src);
|
ByteBuf writeBytes(ByteBuf src);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers the specified source buffer's data to this buffer starting at
|
* Transfers the specified source buffer's data to this buffer starting at
|
||||||
@ -1404,7 +1404,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code length} is greater than {@code this.writableBytes} or
|
* if {@code length} is greater than {@code this.writableBytes} or
|
||||||
* if {@code length} is greater then {@code src.readableBytes}
|
* if {@code length} is greater then {@code src.readableBytes}
|
||||||
*/
|
*/
|
||||||
void writeBytes(ByteBuf src, int length);
|
ByteBuf writeBytes(ByteBuf src, int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers the specified source buffer's data to this buffer starting at
|
* Transfers the specified source buffer's data to this buffer starting at
|
||||||
@ -1420,7 +1420,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* {@code src.capacity}, or
|
* {@code src.capacity}, or
|
||||||
* if {@code length} is greater than {@code this.writableBytes}
|
* if {@code length} is greater than {@code this.writableBytes}
|
||||||
*/
|
*/
|
||||||
void writeBytes(ByteBuf src, int srcIndex, int length);
|
ByteBuf writeBytes(ByteBuf src, int srcIndex, int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers the specified source array's data to this buffer starting at
|
* Transfers the specified source array's data to this buffer starting at
|
||||||
@ -1430,7 +1430,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IndexOutOfBoundsException
|
* @throws IndexOutOfBoundsException
|
||||||
* if {@code src.length} is greater than {@code this.writableBytes}
|
* if {@code src.length} is greater than {@code this.writableBytes}
|
||||||
*/
|
*/
|
||||||
void writeBytes(byte[] src);
|
ByteBuf writeBytes(byte[] src);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers the specified source array's data to this buffer starting at
|
* Transfers the specified source array's data to this buffer starting at
|
||||||
@ -1446,7 +1446,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* {@code src.length}, or
|
* {@code src.length}, or
|
||||||
* if {@code length} is greater than {@code this.writableBytes}
|
* if {@code length} is greater than {@code this.writableBytes}
|
||||||
*/
|
*/
|
||||||
void writeBytes(byte[] src, int srcIndex, int length);
|
ByteBuf writeBytes(byte[] src, int srcIndex, int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers the specified source buffer's data to this buffer starting at
|
* Transfers the specified source buffer's data to this buffer starting at
|
||||||
@ -1458,7 +1458,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* if {@code src.remaining()} is greater than
|
* if {@code src.remaining()} is greater than
|
||||||
* {@code this.writableBytes}
|
* {@code this.writableBytes}
|
||||||
*/
|
*/
|
||||||
void writeBytes(ByteBuffer src);
|
ByteBuf writeBytes(ByteBuffer src);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfers the content of the specified stream to this buffer
|
* Transfers the content of the specified stream to this buffer
|
||||||
@ -1502,7 +1502,7 @@ public interface ByteBuf extends ChannelBuf, Comparable<ByteBuf> {
|
|||||||
* @throws IndexOutOfBoundsException
|
* @throws IndexOutOfBoundsException
|
||||||
* if {@code length} is greater than {@code this.writableBytes}
|
* if {@code length} is greater than {@code this.writableBytes}
|
||||||
*/
|
*/
|
||||||
void writeZero(int length);
|
ByteBuf writeZero(int length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Locates the first occurrence of the specified {@code value} in this
|
* Locates the first occurrence of the specified {@code value} in this
|
||||||
|
@ -15,20 +15,23 @@
|
|||||||
*/
|
*/
|
||||||
package io.netty.buffer;
|
package io.netty.buffer;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface CompositeByteBuf extends ByteBuf, Iterable<ByteBuf> {
|
public interface CompositeByteBuf extends ByteBuf, Iterable<ByteBuf> {
|
||||||
|
|
||||||
void addComponent(ByteBuf buffer);
|
CompositeByteBuf addComponent(ByteBuf buffer);
|
||||||
void addComponent(int cIndex, ByteBuf buffer);
|
CompositeByteBuf addComponent(int cIndex, ByteBuf buffer);
|
||||||
|
|
||||||
void addComponents(ByteBuf... buffers);
|
CompositeByteBuf addComponents(ByteBuf... buffers);
|
||||||
void addComponents(Iterable<ByteBuf> buffers);
|
CompositeByteBuf addComponents(Iterable<ByteBuf> buffers);
|
||||||
void addComponents(int cIndex, ByteBuf... buffers);
|
CompositeByteBuf addComponents(int cIndex, ByteBuf... buffers);
|
||||||
void addComponents(int cIndex, Iterable<ByteBuf> buffers);
|
CompositeByteBuf addComponents(int cIndex, Iterable<ByteBuf> buffers);
|
||||||
|
|
||||||
void removeComponent(int cIndex);
|
CompositeByteBuf removeComponent(int cIndex);
|
||||||
void removeComponents(int cIndex, int numComponents);
|
CompositeByteBuf removeComponents(int cIndex, int numComponents);
|
||||||
|
|
||||||
int numComponents();
|
int numComponents();
|
||||||
int maxNumComponents();
|
int maxNumComponents();
|
||||||
@ -36,9 +39,9 @@ public interface CompositeByteBuf extends ByteBuf, Iterable<ByteBuf> {
|
|||||||
ByteBuf component(int cIndex);
|
ByteBuf component(int cIndex);
|
||||||
ByteBuf componentAtOffset(int offset);
|
ByteBuf componentAtOffset(int offset);
|
||||||
|
|
||||||
void discardReadComponents();
|
CompositeByteBuf discardReadComponents();
|
||||||
void consolidate();
|
CompositeByteBuf consolidate();
|
||||||
void consolidate(int cIndex, int numComponents);
|
CompositeByteBuf consolidate(int cIndex, int numComponents);
|
||||||
|
|
||||||
int toComponentIndex(int offset);
|
int toComponentIndex(int offset);
|
||||||
int toByteIndex(int cIndex);
|
int toByteIndex(int cIndex);
|
||||||
@ -47,4 +50,179 @@ public interface CompositeByteBuf extends ByteBuf, Iterable<ByteBuf> {
|
|||||||
* Same with {@link #slice(int, int)} except that this method returns a list.
|
* Same with {@link #slice(int, int)} except that this method returns a list.
|
||||||
*/
|
*/
|
||||||
List<ByteBuf> decompose(int offset, int length);
|
List<ByteBuf> decompose(int offset, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf capacity(int newCapacity);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf readerIndex(int readerIndex);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writerIndex(int writerIndex);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setIndex(int readerIndex, int writerIndex);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf clear();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf markReaderIndex();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf resetReaderIndex();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf markWriterIndex();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf resetWriterIndex();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf discardReadBytes();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf ensureWritableBytes(int minWritableBytes);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf getBytes(int index, ByteBuf dst);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf getBytes(int index, ByteBuf dst, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf getBytes(int index, byte[] dst);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf getBytes(int index, byte[] dst, int dstIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf getBytes(int index, ByteBuffer dst);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf getBytes(int index, OutputStream out, int length) throws IOException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setBoolean(int index, boolean value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setByte(int index, int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setShort(int index, int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setMedium(int index, int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setInt(int index, int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setLong(int index, long value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setChar(int index, int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setFloat(int index, float value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setDouble(int index, double value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setBytes(int index, ByteBuf src);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setBytes(int index, ByteBuf src, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setBytes(int index, byte[] src);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setBytes(int index, byte[] src, int srcIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setBytes(int index, ByteBuffer src);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf setZero(int index, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf readBytes(ByteBuf dst);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf readBytes(ByteBuf dst, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf readBytes(ByteBuf dst, int dstIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf readBytes(byte[] dst);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf readBytes(byte[] dst, int dstIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf readBytes(ByteBuffer dst);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf readBytes(OutputStream out, int length) throws IOException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf skipBytes(int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeBoolean(boolean value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeByte(int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeShort(int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeMedium(int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeInt(int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeLong(long value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeChar(int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeFloat(float value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeDouble(double value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeBytes(ByteBuf src);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeBytes(ByteBuf src, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeBytes(ByteBuf src, int srcIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeBytes(byte[] src);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeBytes(byte[] src, int srcIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeBytes(ByteBuffer src);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
CompositeByteBuf writeZero(int length);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -79,22 +79,25 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addComponent(ByteBuf buffer) {
|
public CompositeByteBuf addComponent(ByteBuf buffer) {
|
||||||
addComponent(components.size(), buffer);
|
addComponent(components.size(), buffer);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addComponents(ByteBuf... buffers) {
|
public CompositeByteBuf addComponents(ByteBuf... buffers) {
|
||||||
addComponents(components.size(), buffers);
|
addComponents(components.size(), buffers);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addComponents(Iterable<ByteBuf> buffers) {
|
public CompositeByteBuf addComponents(Iterable<ByteBuf> buffers) {
|
||||||
addComponents(components.size(), buffers);
|
addComponents(components.size(), buffers);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addComponent(int cIndex, ByteBuf buffer) {
|
public CompositeByteBuf addComponent(int cIndex, ByteBuf buffer) {
|
||||||
checkComponentIndex(cIndex);
|
checkComponentIndex(cIndex);
|
||||||
|
|
||||||
if (buffer == null) {
|
if (buffer == null) {
|
||||||
@ -105,12 +108,12 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
Iterable<ByteBuf> composite = (Iterable<ByteBuf>) buffer;
|
Iterable<ByteBuf> composite = (Iterable<ByteBuf>) buffer;
|
||||||
addComponents(cIndex, composite);
|
addComponents(cIndex, composite);
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
int readableBytes = buffer.readableBytes();
|
int readableBytes = buffer.readableBytes();
|
||||||
if (readableBytes == 0) {
|
if (readableBytes == 0) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Consolidate if the number of components will exceed the allowed maximum by the current
|
// Consolidate if the number of components will exceed the allowed maximum by the current
|
||||||
@ -131,7 +134,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
c.endOffset = c.length;
|
c.endOffset = c.length;
|
||||||
components.clear();
|
components.clear();
|
||||||
components.add(c);
|
components.add(c);
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// No need to consolidate - just add a component to the list.
|
// No need to consolidate - just add a component to the list.
|
||||||
@ -149,10 +152,11 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
components.add(cIndex, c);
|
components.add(cIndex, c);
|
||||||
updateComponentOffsets(cIndex);
|
updateComponentOffsets(cIndex);
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addComponents(int cIndex, ByteBuf... buffers) {
|
public CompositeByteBuf addComponents(int cIndex, ByteBuf... buffers) {
|
||||||
checkComponentIndex(cIndex);
|
checkComponentIndex(cIndex);
|
||||||
|
|
||||||
if (buffers == null) {
|
if (buffers == null) {
|
||||||
@ -172,7 +176,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (readableBytes == 0) {
|
if (readableBytes == 0) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Consolidate if the number of components will exceed the maximum by this operation.
|
// Consolidate if the number of components will exceed the maximum by this operation.
|
||||||
@ -215,7 +219,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
components.clear();
|
components.clear();
|
||||||
components.add(c);
|
components.add(c);
|
||||||
updateComponentOffsets(0);
|
updateComponentOffsets(0);
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// No need for consolidation
|
// No need for consolidation
|
||||||
@ -228,10 +232,11 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
addComponent(cIndex ++, b);
|
addComponent(cIndex ++, b);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addComponents(int cIndex, Iterable<ByteBuf> buffers) {
|
public CompositeByteBuf addComponents(int cIndex, Iterable<ByteBuf> buffers) {
|
||||||
if (buffers == null) {
|
if (buffers == null) {
|
||||||
throw new NullPointerException("buffers");
|
throw new NullPointerException("buffers");
|
||||||
}
|
}
|
||||||
@ -243,7 +248,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
array[i] = list.get(i).buf;
|
array[i] = list.get(i).buf;
|
||||||
}
|
}
|
||||||
addComponents(cIndex, array);
|
addComponents(cIndex, array);
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buffers instanceof List) {
|
if (buffers instanceof List) {
|
||||||
@ -253,7 +258,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
array[i] = list.get(i);
|
array[i] = list.get(i);
|
||||||
}
|
}
|
||||||
addComponents(cIndex, array);
|
addComponents(cIndex, array);
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buffers instanceof Collection) {
|
if (buffers instanceof Collection) {
|
||||||
@ -264,7 +269,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
array[i ++] = b;
|
array[i ++] = b;
|
||||||
}
|
}
|
||||||
addComponents(cIndex, array);
|
addComponents(cIndex, array);
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<ByteBuf> list = new ArrayList<ByteBuf>();
|
List<ByteBuf> list = new ArrayList<ByteBuf>();
|
||||||
@ -272,6 +277,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
list.add(b);
|
list.add(b);
|
||||||
}
|
}
|
||||||
addComponents(cIndex, list.toArray(new ByteBuf[list.size()]));
|
addComponents(cIndex, list.toArray(new ByteBuf[list.size()]));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkComponentIndex(int cIndex) {
|
private void checkComponentIndex(int cIndex) {
|
||||||
@ -312,17 +318,19 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeComponent(int cIndex) {
|
public CompositeByteBuf removeComponent(int cIndex) {
|
||||||
checkComponentIndex(cIndex);
|
checkComponentIndex(cIndex);
|
||||||
components.remove(cIndex);
|
components.remove(cIndex);
|
||||||
updateComponentOffsets(cIndex);
|
updateComponentOffsets(cIndex);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeComponents(int cIndex, int numComponents) {
|
public CompositeByteBuf removeComponents(int cIndex, int numComponents) {
|
||||||
checkComponentIndex(cIndex, numComponents);
|
checkComponentIndex(cIndex, numComponents);
|
||||||
components.subList(cIndex, cIndex + numComponents).clear();
|
components.subList(cIndex, cIndex + numComponents).clear();
|
||||||
updateComponentOffsets(cIndex);
|
updateComponentOffsets(cIndex);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -422,7 +430,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void capacity(int newCapacity) {
|
public CompositeByteBuf capacity(int newCapacity) {
|
||||||
if (newCapacity < 0 || newCapacity > maxCapacity()) {
|
if (newCapacity < 0 || newCapacity > maxCapacity()) {
|
||||||
throw new IllegalArgumentException("newCapacity: " + newCapacity);
|
throw new IllegalArgumentException("newCapacity: " + newCapacity);
|
||||||
}
|
}
|
||||||
@ -464,6 +472,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
writerIndex(newCapacity);
|
writerIndex(newCapacity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -577,7 +586,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, byte[] dst, int dstIndex, int length) {
|
public CompositeByteBuf getBytes(int index, byte[] dst, int dstIndex, int length) {
|
||||||
if (index > capacity() - length || dstIndex > dst.length - length) {
|
if (index > capacity() - length || dstIndex > dst.length - length) {
|
||||||
throw new IndexOutOfBoundsException("Too many bytes to read - Needs "
|
throw new IndexOutOfBoundsException("Too many bytes to read - Needs "
|
||||||
+ (index + length) + ", maximum is " + capacity() + " or "
|
+ (index + length) + ", maximum is " + capacity() + " or "
|
||||||
@ -587,7 +596,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
throw new IndexOutOfBoundsException("index must be >= 0");
|
throw new IndexOutOfBoundsException("index must be >= 0");
|
||||||
}
|
}
|
||||||
if (length == 0) {
|
if (length == 0) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
int i = toComponentIndex(index);
|
int i = toComponentIndex(index);
|
||||||
|
|
||||||
@ -602,10 +611,11 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
length -= localLength;
|
length -= localLength;
|
||||||
i ++;
|
i ++;
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuffer dst) {
|
public CompositeByteBuf getBytes(int index, ByteBuffer dst) {
|
||||||
int limit = dst.limit();
|
int limit = dst.limit();
|
||||||
int length = dst.remaining();
|
int length = dst.remaining();
|
||||||
|
|
||||||
@ -617,7 +627,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
throw new IndexOutOfBoundsException("index must be >= 0");
|
throw new IndexOutOfBoundsException("index must be >= 0");
|
||||||
}
|
}
|
||||||
if (length == 0) {
|
if (length == 0) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
int i = toComponentIndex(index);
|
int i = toComponentIndex(index);
|
||||||
try {
|
try {
|
||||||
@ -635,10 +645,11 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
} finally {
|
} finally {
|
||||||
dst.limit(limit);
|
dst.limit(limit);
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
public CompositeByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
||||||
if (index > capacity() - length || dstIndex > dst.capacity() - length) {
|
if (index > capacity() - length || dstIndex > dst.capacity() - length) {
|
||||||
throw new IndexOutOfBoundsException("Too many bytes to be read - Needs "
|
throw new IndexOutOfBoundsException("Too many bytes to be read - Needs "
|
||||||
+ (index + length) + " or " + (dstIndex + length) + ", maximum is "
|
+ (index + length) + " or " + (dstIndex + length) + ", maximum is "
|
||||||
@ -648,7 +659,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
throw new IndexOutOfBoundsException("index must be >= 0");
|
throw new IndexOutOfBoundsException("index must be >= 0");
|
||||||
}
|
}
|
||||||
if (length == 0) {
|
if (length == 0) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
int i = toComponentIndex(index);
|
int i = toComponentIndex(index);
|
||||||
while (length > 0) {
|
while (length > 0) {
|
||||||
@ -662,6 +673,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
length -= localLength;
|
length -= localLength;
|
||||||
i ++;
|
i ++;
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -682,7 +694,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, OutputStream out, int length)
|
public CompositeByteBuf getBytes(int index, OutputStream out, int length)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
if (index > capacity() - length) {
|
if (index > capacity() - length) {
|
||||||
throw new IndexOutOfBoundsException("Too many bytes to be read - needs "
|
throw new IndexOutOfBoundsException("Too many bytes to be read - needs "
|
||||||
@ -692,7 +704,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
throw new IndexOutOfBoundsException("index must be >= 0");
|
throw new IndexOutOfBoundsException("index must be >= 0");
|
||||||
}
|
}
|
||||||
if (length == 0) {
|
if (length == 0) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
int i = toComponentIndex(index);
|
int i = toComponentIndex(index);
|
||||||
@ -706,16 +718,18 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
length -= localLength;
|
length -= localLength;
|
||||||
i ++;
|
i ++;
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setByte(int index, int value) {
|
public CompositeByteBuf setByte(int index, int value) {
|
||||||
Component c = findComponent(index);
|
Component c = findComponent(index);
|
||||||
c.buf.setByte(index - c.offset, value);
|
c.buf.setByte(index - c.offset, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setShort(int index, int value) {
|
public CompositeByteBuf setShort(int index, int value) {
|
||||||
Component c = findComponent(index);
|
Component c = findComponent(index);
|
||||||
if (index + 2 <= c.endOffset) {
|
if (index + 2 <= c.endOffset) {
|
||||||
c.buf.setShort(index - c.offset, value);
|
c.buf.setShort(index - c.offset, value);
|
||||||
@ -726,10 +740,11 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
setByte(index , (byte) value);
|
setByte(index , (byte) value);
|
||||||
setByte(index + 1, (byte) (value >>> 8));
|
setByte(index + 1, (byte) (value >>> 8));
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setMedium(int index, int value) {
|
public CompositeByteBuf setMedium(int index, int value) {
|
||||||
Component c = findComponent(index);
|
Component c = findComponent(index);
|
||||||
if (index + 3 <= c.endOffset) {
|
if (index + 3 <= c.endOffset) {
|
||||||
c.buf.setMedium(index - c.offset, value);
|
c.buf.setMedium(index - c.offset, value);
|
||||||
@ -740,10 +755,11 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
setShort(index , (short) value);
|
setShort(index , (short) value);
|
||||||
setByte(index + 2, (byte) (value >>> 16));
|
setByte(index + 2, (byte) (value >>> 16));
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setInt(int index, int value) {
|
public CompositeByteBuf setInt(int index, int value) {
|
||||||
Component c = findComponent(index);
|
Component c = findComponent(index);
|
||||||
if (index + 4 <= c.endOffset) {
|
if (index + 4 <= c.endOffset) {
|
||||||
c.buf.setInt(index - c.offset, value);
|
c.buf.setInt(index - c.offset, value);
|
||||||
@ -754,10 +770,11 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
setShort(index , (short) value);
|
setShort(index , (short) value);
|
||||||
setShort(index + 2, (short) (value >>> 16));
|
setShort(index + 2, (short) (value >>> 16));
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setLong(int index, long value) {
|
public CompositeByteBuf setLong(int index, long value) {
|
||||||
Component c = findComponent(index);
|
Component c = findComponent(index);
|
||||||
if (index + 8 <= c.endOffset) {
|
if (index + 8 <= c.endOffset) {
|
||||||
c.buf.setLong(index - c.offset, value);
|
c.buf.setLong(index - c.offset, value);
|
||||||
@ -768,10 +785,11 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
setInt(index , (int) value);
|
setInt(index , (int) value);
|
||||||
setInt(index + 4, (int) (value >>> 32));
|
setInt(index + 4, (int) (value >>> 32));
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, byte[] src, int srcIndex, int length) {
|
public CompositeByteBuf setBytes(int index, byte[] src, int srcIndex, int length) {
|
||||||
int componentId = toComponentIndex(index);
|
int componentId = toComponentIndex(index);
|
||||||
if (index > capacity() - length || srcIndex > src.length - length) {
|
if (index > capacity() - length || srcIndex > src.length - length) {
|
||||||
throw new IndexOutOfBoundsException("Too many bytes to read - needs "
|
throw new IndexOutOfBoundsException("Too many bytes to read - needs "
|
||||||
@ -791,10 +809,11 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
length -= localLength;
|
length -= localLength;
|
||||||
i ++;
|
i ++;
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuffer src) {
|
public CompositeByteBuf setBytes(int index, ByteBuffer src) {
|
||||||
int componentId = toComponentIndex(index);
|
int componentId = toComponentIndex(index);
|
||||||
int limit = src.limit();
|
int limit = src.limit();
|
||||||
int length = src.remaining();
|
int length = src.remaining();
|
||||||
@ -819,10 +838,11 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
} finally {
|
} finally {
|
||||||
src.limit(limit);
|
src.limit(limit);
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
public CompositeByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
||||||
int componentId = toComponentIndex(index);
|
int componentId = toComponentIndex(index);
|
||||||
if (index > capacity() - length || srcIndex > src.capacity() - length) {
|
if (index > capacity() - length || srcIndex > src.capacity() - length) {
|
||||||
throw new IndexOutOfBoundsException("Too many bytes to be written - Needs "
|
throw new IndexOutOfBoundsException("Too many bytes to be written - Needs "
|
||||||
@ -842,6 +862,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
length -= localLength;
|
length -= localLength;
|
||||||
i ++;
|
i ++;
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1088,10 +1109,10 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void consolidate() {
|
public CompositeByteBuf consolidate() {
|
||||||
final int numComponents = numComponents();
|
final int numComponents = numComponents();
|
||||||
if (numComponents <= 1) {
|
if (numComponents <= 1) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Component last = components.get(numComponents - 1);
|
final Component last = components.get(numComponents - 1);
|
||||||
@ -1107,13 +1128,14 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
components.clear();
|
components.clear();
|
||||||
components.add(new Component(consolidated));
|
components.add(new Component(consolidated));
|
||||||
updateComponentOffsets(0);
|
updateComponentOffsets(0);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void consolidate(int cIndex, int numComponents) {
|
public CompositeByteBuf consolidate(int cIndex, int numComponents) {
|
||||||
checkComponentIndex(cIndex, numComponents);
|
checkComponentIndex(cIndex, numComponents);
|
||||||
if (numComponents <= 1) {
|
if (numComponents <= 1) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
final int endCIndex = cIndex + numComponents;
|
final int endCIndex = cIndex + numComponents;
|
||||||
@ -1130,13 +1152,14 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
components.subList(cIndex + 1, endCIndex).clear();
|
components.subList(cIndex + 1, endCIndex).clear();
|
||||||
components.set(cIndex, new Component(consolidated));
|
components.set(cIndex, new Component(consolidated));
|
||||||
updateComponentOffsets(cIndex);
|
updateComponentOffsets(cIndex);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void discardReadComponents() {
|
public CompositeByteBuf discardReadComponents() {
|
||||||
final int readerIndex = readerIndex();
|
final int readerIndex = readerIndex();
|
||||||
if (readerIndex == 0) {
|
if (readerIndex == 0) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Discard everything if (readerIndex = writerIndex = capacity).
|
// Discard everything if (readerIndex = writerIndex = capacity).
|
||||||
@ -1148,7 +1171,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
components.clear();
|
components.clear();
|
||||||
setIndex(0, 0);
|
setIndex(0, 0);
|
||||||
adjustMarkers(readerIndex);
|
adjustMarkers(readerIndex);
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove read components.
|
// Remove read components.
|
||||||
@ -1163,13 +1186,14 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
updateComponentOffsets(0);
|
updateComponentOffsets(0);
|
||||||
setIndex(readerIndex - first.offset, writerIndex - first.offset);
|
setIndex(readerIndex - first.offset, writerIndex - first.offset);
|
||||||
adjustMarkers(first.offset);
|
adjustMarkers(first.offset);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void discardReadBytes() {
|
public CompositeByteBuf discardReadBytes() {
|
||||||
final int readerIndex = readerIndex();
|
final int readerIndex = readerIndex();
|
||||||
if (readerIndex == 0) {
|
if (readerIndex == 0) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Discard everything if (readerIndex = writerIndex = capacity).
|
// Discard everything if (readerIndex = writerIndex = capacity).
|
||||||
@ -1181,7 +1205,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
components.clear();
|
components.clear();
|
||||||
setIndex(0, 0);
|
setIndex(0, 0);
|
||||||
adjustMarkers(readerIndex);
|
adjustMarkers(readerIndex);
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove read components.
|
// Remove read components.
|
||||||
@ -1207,6 +1231,7 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
updateComponentOffsets(0);
|
updateComponentOffsets(0);
|
||||||
setIndex(0, writerIndex - readerIndex);
|
setIndex(0, writerIndex - readerIndex);
|
||||||
adjustMarkers(readerIndex);
|
adjustMarkers(readerIndex);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1228,6 +1253,228 @@ public class DefaultCompositeByteBuf extends AbstractByteBuf implements Composit
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf readerIndex(int readerIndex) {
|
||||||
|
return (CompositeByteBuf) super.readerIndex(readerIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writerIndex(int writerIndex) {
|
||||||
|
return (CompositeByteBuf) super.writerIndex(writerIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf setIndex(int readerIndex, int writerIndex) {
|
||||||
|
return (CompositeByteBuf) super.setIndex(readerIndex, writerIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf clear() {
|
||||||
|
return (CompositeByteBuf) super.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf markReaderIndex() {
|
||||||
|
return (CompositeByteBuf) super.markReaderIndex();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf resetReaderIndex() {
|
||||||
|
return (CompositeByteBuf) super.resetReaderIndex();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf markWriterIndex() {
|
||||||
|
return (CompositeByteBuf) super.markWriterIndex();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf resetWriterIndex() {
|
||||||
|
return (CompositeByteBuf) super.resetWriterIndex();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf ensureWritableBytes(int minWritableBytes) {
|
||||||
|
return (CompositeByteBuf) super.ensureWritableBytes(minWritableBytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf getBytes(int index, ByteBuf dst) {
|
||||||
|
return (CompositeByteBuf) super.getBytes(index, dst);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf getBytes(int index, ByteBuf dst, int length) {
|
||||||
|
return (CompositeByteBuf) super.getBytes(index, dst, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf getBytes(int index, byte[] dst) {
|
||||||
|
return (CompositeByteBuf) super.getBytes(index, dst);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf setBoolean(int index, boolean value) {
|
||||||
|
return (CompositeByteBuf) super.setBoolean(index, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf setChar(int index, int value) {
|
||||||
|
return (CompositeByteBuf) super.setChar(index, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf setFloat(int index, float value) {
|
||||||
|
return (CompositeByteBuf) super.setFloat(index, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf setDouble(int index, double value) {
|
||||||
|
return (CompositeByteBuf) super.setDouble(index, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf setBytes(int index, ByteBuf src) {
|
||||||
|
return (CompositeByteBuf) super.setBytes(index, src);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf setBytes(int index, ByteBuf src, int length) {
|
||||||
|
return (CompositeByteBuf) super.setBytes(index, src, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf setBytes(int index, byte[] src) {
|
||||||
|
return (CompositeByteBuf) super.setBytes(index, src);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf setZero(int index, int length) {
|
||||||
|
return (CompositeByteBuf) super.setZero(index, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf readBytes(ByteBuf dst) {
|
||||||
|
return (CompositeByteBuf) super.readBytes(dst);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf readBytes(ByteBuf dst, int length) {
|
||||||
|
return (CompositeByteBuf) super.readBytes(dst, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf readBytes(ByteBuf dst, int dstIndex, int length) {
|
||||||
|
return (CompositeByteBuf) super.readBytes(dst, dstIndex, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf readBytes(byte[] dst) {
|
||||||
|
return (CompositeByteBuf) super.readBytes(dst);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf readBytes(byte[] dst, int dstIndex, int length) {
|
||||||
|
return (CompositeByteBuf) super.readBytes(dst, dstIndex, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf readBytes(ByteBuffer dst) {
|
||||||
|
return (CompositeByteBuf) super.readBytes(dst);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf readBytes(OutputStream out, int length) throws IOException {
|
||||||
|
return (CompositeByteBuf) super.readBytes(out, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf skipBytes(int length) {
|
||||||
|
return (CompositeByteBuf) super.skipBytes(length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeBoolean(boolean value) {
|
||||||
|
return (CompositeByteBuf) super.writeBoolean(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeByte(int value) {
|
||||||
|
return (CompositeByteBuf) super.writeByte(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeShort(int value) {
|
||||||
|
return (CompositeByteBuf) super.writeShort(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeMedium(int value) {
|
||||||
|
return (CompositeByteBuf) super.writeMedium(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeInt(int value) {
|
||||||
|
return (CompositeByteBuf) super.writeInt(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeLong(long value) {
|
||||||
|
return (CompositeByteBuf) super.writeLong(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeChar(int value) {
|
||||||
|
return (CompositeByteBuf) super.writeChar(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeFloat(float value) {
|
||||||
|
return (CompositeByteBuf) super.writeFloat(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeDouble(double value) {
|
||||||
|
return (CompositeByteBuf) super.writeDouble(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeBytes(ByteBuf src) {
|
||||||
|
return (CompositeByteBuf) super.writeBytes(src);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeBytes(ByteBuf src, int length) {
|
||||||
|
return (CompositeByteBuf) super.writeBytes(src, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeBytes(ByteBuf src, int srcIndex, int length) {
|
||||||
|
return (CompositeByteBuf) super.writeBytes(src, srcIndex, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeBytes(byte[] src) {
|
||||||
|
return (CompositeByteBuf) super.writeBytes(src);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeBytes(byte[] src, int srcIndex, int length) {
|
||||||
|
return (CompositeByteBuf) super.writeBytes(src, srcIndex, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeBytes(ByteBuffer src) {
|
||||||
|
return (CompositeByteBuf) super.writeBytes(src);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompositeByteBuf writeZero(int length) {
|
||||||
|
return (CompositeByteBuf) super.writeZero(length);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Unsafe unsafe() {
|
public Unsafe unsafe() {
|
||||||
return unsafe;
|
return unsafe;
|
||||||
|
@ -145,7 +145,7 @@ public class DirectByteBuf extends AbstractByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void capacity(int newCapacity) {
|
public ByteBuf capacity(int newCapacity) {
|
||||||
if (newCapacity < 0 || newCapacity > maxCapacity()) {
|
if (newCapacity < 0 || newCapacity > maxCapacity()) {
|
||||||
throw new IllegalArgumentException("newCapacity: " + newCapacity);
|
throw new IllegalArgumentException("newCapacity: " + newCapacity);
|
||||||
}
|
}
|
||||||
@ -178,6 +178,7 @@ public class DirectByteBuf extends AbstractByteBuf {
|
|||||||
}
|
}
|
||||||
setByteBuffer(newBuffer);
|
setByteBuffer(newBuffer);
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -222,7 +223,7 @@ public class DirectByteBuf extends AbstractByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
public ByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
||||||
if (dst instanceof DirectByteBuf) {
|
if (dst instanceof DirectByteBuf) {
|
||||||
DirectByteBuf bbdst = (DirectByteBuf) dst;
|
DirectByteBuf bbdst = (DirectByteBuf) dst;
|
||||||
ByteBuffer data = bbdst.tmpBuf;
|
ByteBuffer data = bbdst.tmpBuf;
|
||||||
@ -233,10 +234,11 @@ public class DirectByteBuf extends AbstractByteBuf {
|
|||||||
} else {
|
} else {
|
||||||
dst.setBytes(dstIndex, this, index, length);
|
dst.setBytes(dstIndex, this, index, length);
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, byte[] dst, int dstIndex, int length) {
|
public ByteBuf getBytes(int index, byte[] dst, int dstIndex, int length) {
|
||||||
try {
|
try {
|
||||||
tmpBuf.clear().position(index).limit(index + length);
|
tmpBuf.clear().position(index).limit(index + length);
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
@ -244,10 +246,11 @@ public class DirectByteBuf extends AbstractByteBuf {
|
|||||||
(index + length) + ", maximum is " + buffer.limit());
|
(index + length) + ", maximum is " + buffer.limit());
|
||||||
}
|
}
|
||||||
tmpBuf.get(dst, dstIndex, length);
|
tmpBuf.get(dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuffer dst) {
|
public ByteBuf getBytes(int index, ByteBuffer dst) {
|
||||||
int bytesToCopy = Math.min(capacity() - index, dst.remaining());
|
int bytesToCopy = Math.min(capacity() - index, dst.remaining());
|
||||||
try {
|
try {
|
||||||
tmpBuf.clear().position(index).limit(index + bytesToCopy);
|
tmpBuf.clear().position(index).limit(index + bytesToCopy);
|
||||||
@ -256,37 +259,43 @@ public class DirectByteBuf extends AbstractByteBuf {
|
|||||||
(index + bytesToCopy) + ", maximum is " + buffer.limit());
|
(index + bytesToCopy) + ", maximum is " + buffer.limit());
|
||||||
}
|
}
|
||||||
dst.put(tmpBuf);
|
dst.put(tmpBuf);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setByte(int index, int value) {
|
public ByteBuf setByte(int index, int value) {
|
||||||
buffer.put(index, (byte) value);
|
buffer.put(index, (byte) value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setShort(int index, int value) {
|
public ByteBuf setShort(int index, int value) {
|
||||||
buffer.putShort(index, (short) value);
|
buffer.putShort(index, (short) value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setMedium(int index, int value) {
|
public ByteBuf setMedium(int index, int value) {
|
||||||
setByte(index, (byte) (value >>> 16));
|
setByte(index, (byte) (value >>> 16));
|
||||||
setByte(index + 1, (byte) (value >>> 8));
|
setByte(index + 1, (byte) (value >>> 8));
|
||||||
setByte(index + 2, (byte) (value >>> 0));
|
setByte(index + 2, (byte) (value >>> 0));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setInt(int index, int value) {
|
public ByteBuf setInt(int index, int value) {
|
||||||
buffer.putInt(index, value);
|
buffer.putInt(index, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setLong(int index, long value) {
|
public ByteBuf setLong(int index, long value) {
|
||||||
buffer.putLong(index, value);
|
buffer.putLong(index, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
public ByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
||||||
if (src instanceof DirectByteBuf) {
|
if (src instanceof DirectByteBuf) {
|
||||||
DirectByteBuf bbsrc = (DirectByteBuf) src;
|
DirectByteBuf bbsrc = (DirectByteBuf) src;
|
||||||
ByteBuffer data = bbsrc.tmpBuf;
|
ByteBuffer data = bbsrc.tmpBuf;
|
||||||
@ -298,28 +307,31 @@ public class DirectByteBuf extends AbstractByteBuf {
|
|||||||
} else {
|
} else {
|
||||||
src.getBytes(srcIndex, this, index, length);
|
src.getBytes(srcIndex, this, index, length);
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, byte[] src, int srcIndex, int length) {
|
public ByteBuf setBytes(int index, byte[] src, int srcIndex, int length) {
|
||||||
tmpBuf.clear().position(index).limit(index + length);
|
tmpBuf.clear().position(index).limit(index + length);
|
||||||
tmpBuf.put(src, srcIndex, length);
|
tmpBuf.put(src, srcIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuffer src) {
|
public ByteBuf setBytes(int index, ByteBuffer src) {
|
||||||
if (src == tmpBuf) {
|
if (src == tmpBuf) {
|
||||||
src = src.duplicate();
|
src = src.duplicate();
|
||||||
}
|
}
|
||||||
|
|
||||||
tmpBuf.clear().position(index).limit(index + src.remaining());
|
tmpBuf.clear().position(index).limit(index + src.remaining());
|
||||||
tmpBuf.put(src);
|
tmpBuf.put(src);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, OutputStream out, int length) throws IOException {
|
public ByteBuf getBytes(int index, OutputStream out, int length) throws IOException {
|
||||||
if (length == 0) {
|
if (length == 0) {
|
||||||
return;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buffer.hasArray()) {
|
if (buffer.hasArray()) {
|
||||||
@ -330,6 +342,7 @@ public class DirectByteBuf extends AbstractByteBuf {
|
|||||||
tmpBuf.get(tmp);
|
tmpBuf.get(tmp);
|
||||||
out.write(tmp);
|
out.write(tmp);
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -28,7 +28,7 @@ import java.nio.channels.ScatteringByteChannel;
|
|||||||
* parent. It is recommended to use {@link ByteBuf#duplicate()} instead
|
* parent. It is recommended to use {@link ByteBuf#duplicate()} instead
|
||||||
* of calling the constructor explicitly.
|
* of calling the constructor explicitly.
|
||||||
*/
|
*/
|
||||||
public class DuplicatedByteBuf extends AbstractByteBuf implements WrappedByteBuf {
|
public class DuplicatedByteBuf extends AbstractWrappedByteBuf {
|
||||||
|
|
||||||
private final Unsafe unsafe = new DuplicatedUnsafe();
|
private final Unsafe unsafe = new DuplicatedUnsafe();
|
||||||
final ByteBuf buffer;
|
final ByteBuf buffer;
|
||||||
@ -63,8 +63,9 @@ public class DuplicatedByteBuf extends AbstractByteBuf implements WrappedByteBuf
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void capacity(int newCapacity) {
|
public WrappedByteBuf capacity(int newCapacity) {
|
||||||
buffer.capacity(newCapacity);
|
buffer.capacity(newCapacity);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -123,64 +124,76 @@ public class DuplicatedByteBuf extends AbstractByteBuf implements WrappedByteBuf
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
public WrappedByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
||||||
buffer.getBytes(index, dst, dstIndex, length);
|
buffer.getBytes(index, dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, byte[] dst, int dstIndex, int length) {
|
public WrappedByteBuf getBytes(int index, byte[] dst, int dstIndex, int length) {
|
||||||
buffer.getBytes(index, dst, dstIndex, length);
|
buffer.getBytes(index, dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuffer dst) {
|
public WrappedByteBuf getBytes(int index, ByteBuffer dst) {
|
||||||
buffer.getBytes(index, dst);
|
buffer.getBytes(index, dst);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setByte(int index, int value) {
|
public WrappedByteBuf setByte(int index, int value) {
|
||||||
buffer.setByte(index, value);
|
buffer.setByte(index, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setShort(int index, int value) {
|
public WrappedByteBuf setShort(int index, int value) {
|
||||||
buffer.setShort(index, value);
|
buffer.setShort(index, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setMedium(int index, int value) {
|
public WrappedByteBuf setMedium(int index, int value) {
|
||||||
buffer.setMedium(index, value);
|
buffer.setMedium(index, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setInt(int index, int value) {
|
public WrappedByteBuf setInt(int index, int value) {
|
||||||
buffer.setInt(index, value);
|
buffer.setInt(index, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setLong(int index, long value) {
|
public WrappedByteBuf setLong(int index, long value) {
|
||||||
buffer.setLong(index, value);
|
buffer.setLong(index, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, byte[] src, int srcIndex, int length) {
|
public WrappedByteBuf setBytes(int index, byte[] src, int srcIndex, int length) {
|
||||||
buffer.setBytes(index, src, srcIndex, length);
|
buffer.setBytes(index, src, srcIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
public WrappedByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
||||||
buffer.setBytes(index, src, srcIndex, length);
|
buffer.setBytes(index, src, srcIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuffer src) {
|
public WrappedByteBuf setBytes(int index, ByteBuffer src) {
|
||||||
buffer.setBytes(index, src);
|
buffer.setBytes(index, src);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, OutputStream out, int length)
|
public WrappedByteBuf getBytes(int index, OutputStream out, int length)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
buffer.getBytes(index, out, length);
|
buffer.getBytes(index, out, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -84,7 +84,7 @@ public class HeapByteBuf extends AbstractByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void capacity(int newCapacity) {
|
public ByteBuf capacity(int newCapacity) {
|
||||||
if (newCapacity < 0 || newCapacity > maxCapacity()) {
|
if (newCapacity < 0 || newCapacity > maxCapacity()) {
|
||||||
throw new IllegalArgumentException("newCapacity: " + newCapacity);
|
throw new IllegalArgumentException("newCapacity: " + newCapacity);
|
||||||
}
|
}
|
||||||
@ -108,6 +108,7 @@ public class HeapByteBuf extends AbstractByteBuf {
|
|||||||
}
|
}
|
||||||
setArray(newArray);
|
setArray(newArray);
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -131,28 +132,32 @@ public class HeapByteBuf extends AbstractByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
public ByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
||||||
if (dst instanceof HeapByteBuf) {
|
if (dst instanceof HeapByteBuf) {
|
||||||
getBytes(index, ((HeapByteBuf) dst).array, dstIndex, length);
|
getBytes(index, ((HeapByteBuf) dst).array, dstIndex, length);
|
||||||
} else {
|
} else {
|
||||||
dst.setBytes(dstIndex, array, index, length);
|
dst.setBytes(dstIndex, array, index, length);
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, byte[] dst, int dstIndex, int length) {
|
public ByteBuf getBytes(int index, byte[] dst, int dstIndex, int length) {
|
||||||
System.arraycopy(array, index, dst, dstIndex, length);
|
System.arraycopy(array, index, dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuffer dst) {
|
public ByteBuf getBytes(int index, ByteBuffer dst) {
|
||||||
dst.put(array, index, Math.min(capacity() - index, dst.remaining()));
|
dst.put(array, index, Math.min(capacity() - index, dst.remaining()));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, OutputStream out, int length)
|
public ByteBuf getBytes(int index, OutputStream out, int length)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
out.write(array, index, length);
|
out.write(array, index, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -162,27 +167,31 @@ public class HeapByteBuf extends AbstractByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setByte(int index, int value) {
|
public ByteBuf setByte(int index, int value) {
|
||||||
array[index] = (byte) value;
|
array[index] = (byte) value;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
public ByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
||||||
if (src instanceof HeapByteBuf) {
|
if (src instanceof HeapByteBuf) {
|
||||||
setBytes(index, ((HeapByteBuf) src).array, srcIndex, length);
|
setBytes(index, ((HeapByteBuf) src).array, srcIndex, length);
|
||||||
} else {
|
} else {
|
||||||
src.getBytes(srcIndex, array, index, length);
|
src.getBytes(srcIndex, array, index, length);
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, byte[] src, int srcIndex, int length) {
|
public ByteBuf setBytes(int index, byte[] src, int srcIndex, int length) {
|
||||||
System.arraycopy(src, srcIndex, array, index, length);
|
System.arraycopy(src, srcIndex, array, index, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuffer src) {
|
public ByteBuf setBytes(int index, ByteBuffer src) {
|
||||||
src.get(array, index, src.remaining());
|
src.get(array, index, src.remaining());
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -252,28 +261,31 @@ public class HeapByteBuf extends AbstractByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setShort(int index, int value) {
|
public ByteBuf setShort(int index, int value) {
|
||||||
array[index] = (byte) (value >>> 8);
|
array[index] = (byte) (value >>> 8);
|
||||||
array[index + 1] = (byte) (value >>> 0);
|
array[index + 1] = (byte) (value >>> 0);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setMedium(int index, int value) {
|
public ByteBuf setMedium(int index, int value) {
|
||||||
array[index] = (byte) (value >>> 16);
|
array[index] = (byte) (value >>> 16);
|
||||||
array[index + 1] = (byte) (value >>> 8);
|
array[index + 1] = (byte) (value >>> 8);
|
||||||
array[index + 2] = (byte) (value >>> 0);
|
array[index + 2] = (byte) (value >>> 0);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setInt(int index, int value) {
|
public ByteBuf setInt(int index, int value) {
|
||||||
array[index] = (byte) (value >>> 24);
|
array[index] = (byte) (value >>> 24);
|
||||||
array[index + 1] = (byte) (value >>> 16);
|
array[index + 1] = (byte) (value >>> 16);
|
||||||
array[index + 2] = (byte) (value >>> 8);
|
array[index + 2] = (byte) (value >>> 8);
|
||||||
array[index + 3] = (byte) (value >>> 0);
|
array[index + 3] = (byte) (value >>> 0);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setLong(int index, long value) {
|
public ByteBuf setLong(int index, long value) {
|
||||||
array[index] = (byte) (value >>> 56);
|
array[index] = (byte) (value >>> 56);
|
||||||
array[index + 1] = (byte) (value >>> 48);
|
array[index + 1] = (byte) (value >>> 48);
|
||||||
array[index + 2] = (byte) (value >>> 40);
|
array[index + 2] = (byte) (value >>> 40);
|
||||||
@ -282,6 +294,7 @@ public class HeapByteBuf extends AbstractByteBuf {
|
|||||||
array[index + 5] = (byte) (value >>> 16);
|
array[index + 5] = (byte) (value >>> 16);
|
||||||
array[index + 6] = (byte) (value >>> 8);
|
array[index + 6] = (byte) (value >>> 8);
|
||||||
array[index + 7] = (byte) (value >>> 0);
|
array[index + 7] = (byte) (value >>> 0);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -28,7 +28,7 @@ import java.nio.channels.ScatteringByteChannel;
|
|||||||
* recommended to use {@link Unpooled#unmodifiableBuffer(ByteBuf)}
|
* recommended to use {@link Unpooled#unmodifiableBuffer(ByteBuf)}
|
||||||
* instead of calling the constructor explicitly.
|
* instead of calling the constructor explicitly.
|
||||||
*/
|
*/
|
||||||
public class ReadOnlyByteBuf extends AbstractByteBuf implements WrappedByteBuf {
|
public class ReadOnlyByteBuf extends AbstractWrappedByteBuf {
|
||||||
|
|
||||||
private final ByteBuf buffer;
|
private final ByteBuf buffer;
|
||||||
|
|
||||||
@ -70,47 +70,47 @@ public class ReadOnlyByteBuf extends AbstractByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void discardReadBytes() {
|
public WrappedByteBuf discardReadBytes() {
|
||||||
throw new ReadOnlyBufferException();
|
throw new ReadOnlyBufferException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setByte(int index, int value) {
|
public WrappedByteBuf setByte(int index, int value) {
|
||||||
throw new ReadOnlyBufferException();
|
throw new ReadOnlyBufferException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
public WrappedByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
||||||
throw new ReadOnlyBufferException();
|
throw new ReadOnlyBufferException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, byte[] src, int srcIndex, int length) {
|
public WrappedByteBuf setBytes(int index, byte[] src, int srcIndex, int length) {
|
||||||
throw new ReadOnlyBufferException();
|
throw new ReadOnlyBufferException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuffer src) {
|
public WrappedByteBuf setBytes(int index, ByteBuffer src) {
|
||||||
throw new ReadOnlyBufferException();
|
throw new ReadOnlyBufferException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setShort(int index, int value) {
|
public WrappedByteBuf setShort(int index, int value) {
|
||||||
throw new ReadOnlyBufferException();
|
throw new ReadOnlyBufferException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setMedium(int index, int value) {
|
public WrappedByteBuf setMedium(int index, int value) {
|
||||||
throw new ReadOnlyBufferException();
|
throw new ReadOnlyBufferException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setInt(int index, int value) {
|
public WrappedByteBuf setInt(int index, int value) {
|
||||||
throw new ReadOnlyBufferException();
|
throw new ReadOnlyBufferException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setLong(int index, long value) {
|
public WrappedByteBuf setLong(int index, long value) {
|
||||||
throw new ReadOnlyBufferException();
|
throw new ReadOnlyBufferException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -133,24 +133,28 @@ public class ReadOnlyByteBuf extends AbstractByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, OutputStream out, int length)
|
public WrappedByteBuf getBytes(int index, OutputStream out, int length)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
buffer.getBytes(index, out, length);
|
buffer.getBytes(index, out, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, byte[] dst, int dstIndex, int length) {
|
public WrappedByteBuf getBytes(int index, byte[] dst, int dstIndex, int length) {
|
||||||
buffer.getBytes(index, dst, dstIndex, length);
|
buffer.getBytes(index, dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
public WrappedByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
||||||
buffer.getBytes(index, dst, dstIndex, length);
|
buffer.getBytes(index, dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuffer dst) {
|
public WrappedByteBuf getBytes(int index, ByteBuffer dst) {
|
||||||
buffer.getBytes(index, dst);
|
buffer.getBytes(index, dst);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -219,7 +223,7 @@ public class ReadOnlyByteBuf extends AbstractByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void capacity(int newCapacity) {
|
public WrappedByteBuf capacity(int newCapacity) {
|
||||||
throw new ReadOnlyBufferException();
|
throw new ReadOnlyBufferException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ import java.nio.channels.ScatteringByteChannel;
|
|||||||
* {@link ByteBuf#slice(int, int)} instead of calling the constructor
|
* {@link ByteBuf#slice(int, int)} instead of calling the constructor
|
||||||
* explicitly.
|
* explicitly.
|
||||||
*/
|
*/
|
||||||
public class SlicedByteBuf extends AbstractByteBuf implements WrappedByteBuf {
|
public class SlicedByteBuf extends AbstractWrappedByteBuf {
|
||||||
|
|
||||||
private final Unsafe unsafe = new SlicedUnsafe();
|
private final Unsafe unsafe = new SlicedUnsafe();
|
||||||
private final ByteBuf buffer;
|
private final ByteBuf buffer;
|
||||||
@ -81,7 +81,7 @@ public class SlicedByteBuf extends AbstractByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void capacity(int newCapacity) {
|
public WrappedByteBuf capacity(int newCapacity) {
|
||||||
throw new UnsupportedOperationException("sliced buffer");
|
throw new UnsupportedOperationException("sliced buffer");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -153,76 +153,88 @@ public class SlicedByteBuf extends AbstractByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
public WrappedByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
||||||
checkIndex(index, length);
|
checkIndex(index, length);
|
||||||
buffer.getBytes(index + adjustment, dst, dstIndex, length);
|
buffer.getBytes(index + adjustment, dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, byte[] dst, int dstIndex, int length) {
|
public WrappedByteBuf getBytes(int index, byte[] dst, int dstIndex, int length) {
|
||||||
checkIndex(index, length);
|
checkIndex(index, length);
|
||||||
buffer.getBytes(index + adjustment, dst, dstIndex, length);
|
buffer.getBytes(index + adjustment, dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuffer dst) {
|
public WrappedByteBuf getBytes(int index, ByteBuffer dst) {
|
||||||
checkIndex(index, dst.remaining());
|
checkIndex(index, dst.remaining());
|
||||||
buffer.getBytes(index + adjustment, dst);
|
buffer.getBytes(index + adjustment, dst);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setByte(int index, int value) {
|
public WrappedByteBuf setByte(int index, int value) {
|
||||||
checkIndex(index);
|
checkIndex(index);
|
||||||
buffer.setByte(index + adjustment, value);
|
buffer.setByte(index + adjustment, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setShort(int index, int value) {
|
public WrappedByteBuf setShort(int index, int value) {
|
||||||
checkIndex(index, 2);
|
checkIndex(index, 2);
|
||||||
buffer.setShort(index + adjustment, value);
|
buffer.setShort(index + adjustment, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setMedium(int index, int value) {
|
public WrappedByteBuf setMedium(int index, int value) {
|
||||||
checkIndex(index, 3);
|
checkIndex(index, 3);
|
||||||
buffer.setMedium(index + adjustment, value);
|
buffer.setMedium(index + adjustment, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setInt(int index, int value) {
|
public WrappedByteBuf setInt(int index, int value) {
|
||||||
checkIndex(index, 4);
|
checkIndex(index, 4);
|
||||||
buffer.setInt(index + adjustment, value);
|
buffer.setInt(index + adjustment, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setLong(int index, long value) {
|
public WrappedByteBuf setLong(int index, long value) {
|
||||||
checkIndex(index, 8);
|
checkIndex(index, 8);
|
||||||
buffer.setLong(index + adjustment, value);
|
buffer.setLong(index + adjustment, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, byte[] src, int srcIndex, int length) {
|
public WrappedByteBuf setBytes(int index, byte[] src, int srcIndex, int length) {
|
||||||
checkIndex(index, length);
|
checkIndex(index, length);
|
||||||
buffer.setBytes(index + adjustment, src, srcIndex, length);
|
buffer.setBytes(index + adjustment, src, srcIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
public WrappedByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
||||||
checkIndex(index, length);
|
checkIndex(index, length);
|
||||||
buffer.setBytes(index + adjustment, src, srcIndex, length);
|
buffer.setBytes(index + adjustment, src, srcIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuffer src) {
|
public WrappedByteBuf setBytes(int index, ByteBuffer src) {
|
||||||
checkIndex(index, src.remaining());
|
checkIndex(index, src.remaining());
|
||||||
buffer.setBytes(index + adjustment, src);
|
buffer.setBytes(index + adjustment, src);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, OutputStream out, int length)
|
public WrappedByteBuf getBytes(int index, OutputStream out, int length)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
checkIndex(index, length);
|
checkIndex(index, length);
|
||||||
buffer.getBytes(index + adjustment, out, length);
|
buffer.getBytes(index + adjustment, out, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -78,8 +78,9 @@ public class SwappedByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void capacity(int newCapacity) {
|
public WrappedByteBuf capacity(int newCapacity) {
|
||||||
buf.capacity(newCapacity);
|
buf.capacity(newCapacity);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -98,8 +99,9 @@ public class SwappedByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readerIndex(int readerIndex) {
|
public WrappedByteBuf readerIndex(int readerIndex) {
|
||||||
buf.readerIndex(readerIndex);
|
buf.readerIndex(readerIndex);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -108,13 +110,15 @@ public class SwappedByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writerIndex(int writerIndex) {
|
public WrappedByteBuf writerIndex(int writerIndex) {
|
||||||
buf.writerIndex(writerIndex);
|
buf.writerIndex(writerIndex);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setIndex(int readerIndex, int writerIndex) {
|
public WrappedByteBuf setIndex(int readerIndex, int writerIndex) {
|
||||||
buf.setIndex(readerIndex, writerIndex);
|
buf.setIndex(readerIndex, writerIndex);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -138,38 +142,45 @@ public class SwappedByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void clear() {
|
public WrappedByteBuf clear() {
|
||||||
buf.clear();
|
buf.clear();
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void markReaderIndex() {
|
public WrappedByteBuf markReaderIndex() {
|
||||||
buf.markReaderIndex();
|
buf.markReaderIndex();
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resetReaderIndex() {
|
public WrappedByteBuf resetReaderIndex() {
|
||||||
buf.resetReaderIndex();
|
buf.resetReaderIndex();
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void markWriterIndex() {
|
public WrappedByteBuf markWriterIndex() {
|
||||||
buf.markWriterIndex();
|
buf.markWriterIndex();
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resetWriterIndex() {
|
public WrappedByteBuf resetWriterIndex() {
|
||||||
buf.resetWriterIndex();
|
buf.resetWriterIndex();
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void discardReadBytes() {
|
public WrappedByteBuf discardReadBytes() {
|
||||||
buf.discardReadBytes();
|
buf.discardReadBytes();
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void ensureWritableBytes(int writableBytes) {
|
public WrappedByteBuf ensureWritableBytes(int writableBytes) {
|
||||||
buf.ensureWritableBytes(writableBytes);
|
buf.ensureWritableBytes(writableBytes);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -243,38 +254,45 @@ public class SwappedByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuf dst) {
|
public WrappedByteBuf getBytes(int index, ByteBuf dst) {
|
||||||
buf.getBytes(index, dst);
|
buf.getBytes(index, dst);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuf dst, int length) {
|
public WrappedByteBuf getBytes(int index, ByteBuf dst, int length) {
|
||||||
buf.getBytes(index, dst, length);
|
buf.getBytes(index, dst, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
public WrappedByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
||||||
buf.getBytes(index, dst, dstIndex, length);
|
buf.getBytes(index, dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, byte[] dst) {
|
public WrappedByteBuf getBytes(int index, byte[] dst) {
|
||||||
buf.getBytes(index, dst);
|
buf.getBytes(index, dst);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, byte[] dst, int dstIndex, int length) {
|
public WrappedByteBuf getBytes(int index, byte[] dst, int dstIndex, int length) {
|
||||||
buf.getBytes(index, dst, dstIndex, length);
|
buf.getBytes(index, dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuffer dst) {
|
public WrappedByteBuf getBytes(int index, ByteBuffer dst) {
|
||||||
buf.getBytes(index, dst);
|
buf.getBytes(index, dst);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, OutputStream out, int length) throws IOException {
|
public WrappedByteBuf getBytes(int index, OutputStream out, int length) throws IOException {
|
||||||
buf.getBytes(index, out, length);
|
buf.getBytes(index, out, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -283,78 +301,93 @@ public class SwappedByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBoolean(int index, boolean value) {
|
public WrappedByteBuf setBoolean(int index, boolean value) {
|
||||||
buf.setBoolean(index, value);
|
buf.setBoolean(index, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setByte(int index, int value) {
|
public WrappedByteBuf setByte(int index, int value) {
|
||||||
buf.setByte(index, value);
|
buf.setByte(index, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setShort(int index, int value) {
|
public WrappedByteBuf setShort(int index, int value) {
|
||||||
buf.setShort(index, ByteBufUtil.swapShort((short) value));
|
buf.setShort(index, ByteBufUtil.swapShort((short) value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setMedium(int index, int value) {
|
public WrappedByteBuf setMedium(int index, int value) {
|
||||||
buf.setMedium(index, ByteBufUtil.swapMedium(value));
|
buf.setMedium(index, ByteBufUtil.swapMedium(value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setInt(int index, int value) {
|
public WrappedByteBuf setInt(int index, int value) {
|
||||||
buf.setInt(index, ByteBufUtil.swapInt(value));
|
buf.setInt(index, ByteBufUtil.swapInt(value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setLong(int index, long value) {
|
public WrappedByteBuf setLong(int index, long value) {
|
||||||
buf.setLong(index, ByteBufUtil.swapLong(value));
|
buf.setLong(index, ByteBufUtil.swapLong(value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setChar(int index, int value) {
|
public WrappedByteBuf setChar(int index, int value) {
|
||||||
setShort(index, value);
|
setShort(index, value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setFloat(int index, float value) {
|
public WrappedByteBuf setFloat(int index, float value) {
|
||||||
setInt(index, Float.floatToRawIntBits(value));
|
setInt(index, Float.floatToRawIntBits(value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setDouble(int index, double value) {
|
public WrappedByteBuf setDouble(int index, double value) {
|
||||||
setLong(index, Double.doubleToRawLongBits(value));
|
setLong(index, Double.doubleToRawLongBits(value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuf src) {
|
public WrappedByteBuf setBytes(int index, ByteBuf src) {
|
||||||
buf.setBytes(index, src);
|
buf.setBytes(index, src);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuf src, int length) {
|
public WrappedByteBuf setBytes(int index, ByteBuf src, int length) {
|
||||||
buf.setBytes(index, src, length);
|
buf.setBytes(index, src, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
public WrappedByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
||||||
buf.setBytes(index, src, srcIndex, length);
|
buf.setBytes(index, src, srcIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, byte[] src) {
|
public WrappedByteBuf setBytes(int index, byte[] src) {
|
||||||
buf.setBytes(index, src);
|
buf.setBytes(index, src);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, byte[] src, int srcIndex, int length) {
|
public WrappedByteBuf setBytes(int index, byte[] src, int srcIndex, int length) {
|
||||||
buf.setBytes(index, src, srcIndex, length);
|
buf.setBytes(index, src, srcIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuffer src) {
|
public WrappedByteBuf setBytes(int index, ByteBuffer src) {
|
||||||
buf.setBytes(index, src);
|
buf.setBytes(index, src);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -368,8 +401,9 @@ public class SwappedByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setZero(int index, int length) {
|
public WrappedByteBuf setZero(int index, int length) {
|
||||||
buf.setZero(index, length);
|
buf.setZero(index, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -448,38 +482,45 @@ public class SwappedByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(ByteBuf dst) {
|
public WrappedByteBuf readBytes(ByteBuf dst) {
|
||||||
buf.readBytes(dst);
|
buf.readBytes(dst);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(ByteBuf dst, int length) {
|
public WrappedByteBuf readBytes(ByteBuf dst, int length) {
|
||||||
buf.readBytes(dst, length);
|
buf.readBytes(dst, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(ByteBuf dst, int dstIndex, int length) {
|
public WrappedByteBuf readBytes(ByteBuf dst, int dstIndex, int length) {
|
||||||
buf.readBytes(dst, dstIndex, length);
|
buf.readBytes(dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(byte[] dst) {
|
public WrappedByteBuf readBytes(byte[] dst) {
|
||||||
buf.readBytes(dst);
|
buf.readBytes(dst);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(byte[] dst, int dstIndex, int length) {
|
public WrappedByteBuf readBytes(byte[] dst, int dstIndex, int length) {
|
||||||
buf.readBytes(dst, dstIndex, length);
|
buf.readBytes(dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(ByteBuffer dst) {
|
public WrappedByteBuf readBytes(ByteBuffer dst) {
|
||||||
buf.readBytes(dst);
|
buf.readBytes(dst);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(OutputStream out, int length) throws IOException {
|
public WrappedByteBuf readBytes(OutputStream out, int length) throws IOException {
|
||||||
buf.readBytes(out, length);
|
buf.readBytes(out, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -488,83 +529,99 @@ public class SwappedByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void skipBytes(int length) {
|
public WrappedByteBuf skipBytes(int length) {
|
||||||
buf.skipBytes(length);
|
buf.skipBytes(length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBoolean(boolean value) {
|
public WrappedByteBuf writeBoolean(boolean value) {
|
||||||
buf.writeBoolean(value);
|
buf.writeBoolean(value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeByte(int value) {
|
public WrappedByteBuf writeByte(int value) {
|
||||||
buf.writeByte(value);
|
buf.writeByte(value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeShort(int value) {
|
public WrappedByteBuf writeShort(int value) {
|
||||||
buf.writeShort(ByteBufUtil.swapShort((short) value));
|
buf.writeShort(ByteBufUtil.swapShort((short) value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeMedium(int value) {
|
public WrappedByteBuf writeMedium(int value) {
|
||||||
buf.writeMedium(ByteBufUtil.swapMedium(value));
|
buf.writeMedium(ByteBufUtil.swapMedium(value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeInt(int value) {
|
public WrappedByteBuf writeInt(int value) {
|
||||||
buf.writeInt(ByteBufUtil.swapInt(value));
|
buf.writeInt(ByteBufUtil.swapInt(value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeLong(long value) {
|
public WrappedByteBuf writeLong(long value) {
|
||||||
buf.writeLong(ByteBufUtil.swapLong(value));
|
buf.writeLong(ByteBufUtil.swapLong(value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeChar(int value) {
|
public WrappedByteBuf writeChar(int value) {
|
||||||
writeShort(value);
|
writeShort(value);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeFloat(float value) {
|
public WrappedByteBuf writeFloat(float value) {
|
||||||
writeInt(Float.floatToRawIntBits(value));
|
writeInt(Float.floatToRawIntBits(value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeDouble(double value) {
|
public WrappedByteBuf writeDouble(double value) {
|
||||||
writeLong(Double.doubleToRawLongBits(value));
|
writeLong(Double.doubleToRawLongBits(value));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(ByteBuf src) {
|
public WrappedByteBuf writeBytes(ByteBuf src) {
|
||||||
buf.writeBytes(src);
|
buf.writeBytes(src);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(ByteBuf src, int length) {
|
public WrappedByteBuf writeBytes(ByteBuf src, int length) {
|
||||||
buf.writeBytes(src, length);
|
buf.writeBytes(src, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(ByteBuf src, int srcIndex, int length) {
|
public WrappedByteBuf writeBytes(ByteBuf src, int srcIndex, int length) {
|
||||||
buf.writeBytes(src, srcIndex, length);
|
buf.writeBytes(src, srcIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(byte[] src) {
|
public WrappedByteBuf writeBytes(byte[] src) {
|
||||||
buf.writeBytes(src);
|
buf.writeBytes(src);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(byte[] src, int srcIndex, int length) {
|
public WrappedByteBuf writeBytes(byte[] src, int srcIndex, int length) {
|
||||||
buf.writeBytes(src, srcIndex, length);
|
buf.writeBytes(src, srcIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(ByteBuffer src) {
|
public WrappedByteBuf writeBytes(ByteBuffer src) {
|
||||||
buf.writeBytes(src);
|
buf.writeBytes(src);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -578,8 +635,9 @@ public class SwappedByteBuf implements WrappedByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeZero(int length) {
|
public WrappedByteBuf writeZero(int length) {
|
||||||
buf.writeZero(length);
|
buf.writeZero(length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -15,6 +15,10 @@
|
|||||||
*/
|
*/
|
||||||
package io.netty.buffer;
|
package io.netty.buffer;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The common interface for buffer wrappers and derived buffers. Most users won't
|
* The common interface for buffer wrappers and derived buffers. Most users won't
|
||||||
* need to use this interface. It is used internally in most cases.
|
* need to use this interface. It is used internally in most cases.
|
||||||
@ -24,4 +28,178 @@ public interface WrappedByteBuf extends ByteBuf {
|
|||||||
* Returns this buffer's parent that this buffer is wrapping.
|
* Returns this buffer's parent that this buffer is wrapping.
|
||||||
*/
|
*/
|
||||||
ByteBuf unwrap();
|
ByteBuf unwrap();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf capacity(int newCapacity);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf readerIndex(int readerIndex);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writerIndex(int writerIndex);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setIndex(int readerIndex, int writerIndex);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf clear();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf markReaderIndex();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf resetReaderIndex();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf markWriterIndex();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf resetWriterIndex();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf discardReadBytes();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf ensureWritableBytes(int minWritableBytes);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf getBytes(int index, ByteBuf dst);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf getBytes(int index, ByteBuf dst, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf getBytes(int index, byte[] dst);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf getBytes(int index, byte[] dst, int dstIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf getBytes(int index, ByteBuffer dst);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf getBytes(int index, OutputStream out, int length) throws IOException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setBoolean(int index, boolean value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setByte(int index, int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setShort(int index, int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setMedium(int index, int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setInt(int index, int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setLong(int index, long value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setChar(int index, int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setFloat(int index, float value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setDouble(int index, double value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setBytes(int index, ByteBuf src);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setBytes(int index, ByteBuf src, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setBytes(int index, byte[] src);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setBytes(int index, byte[] src, int srcIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setBytes(int index, ByteBuffer src);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf setZero(int index, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf readBytes(ByteBuf dst);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf readBytes(ByteBuf dst, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf readBytes(ByteBuf dst, int dstIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf readBytes(byte[] dst);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf readBytes(byte[] dst, int dstIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf readBytes(ByteBuffer dst);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf readBytes(OutputStream out, int length) throws IOException;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf skipBytes(int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeBoolean(boolean value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeByte(int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeShort(int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeMedium(int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeInt(int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeLong(long value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeChar(int value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeFloat(float value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeDouble(double value);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeBytes(ByteBuf src);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeBytes(ByteBuf src, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeBytes(ByteBuf src, int srcIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeBytes(byte[] src);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeBytes(byte[] src, int srcIndex, int length);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeBytes(ByteBuffer src);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
WrappedByteBuf writeZero(int length);
|
||||||
}
|
}
|
||||||
|
@ -82,10 +82,10 @@ public class ReadOnlyChannelBufferTest {
|
|||||||
expect(buf.capacity()).andReturn(0).anyTimes();
|
expect(buf.capacity()).andReturn(0).anyTimes();
|
||||||
|
|
||||||
expect(buf.getBytes(1, (GatheringByteChannel) null, 2)).andReturn(3);
|
expect(buf.getBytes(1, (GatheringByteChannel) null, 2)).andReturn(3);
|
||||||
buf.getBytes(4, (OutputStream) null, 5);
|
expect(buf.getBytes(4, (OutputStream) null, 5)).andReturn(buf);
|
||||||
buf.getBytes(6, (byte[]) null, 7, 8);
|
expect(buf.getBytes(6, (byte[]) null, 7, 8)).andReturn(buf);
|
||||||
buf.getBytes(9, (ByteBuf) null, 10, 11);
|
expect(buf.getBytes(9, (ByteBuf) null, 10, 11)).andReturn(buf);
|
||||||
buf.getBytes(12, (ByteBuffer) null);
|
expect(buf.getBytes(12, (ByteBuffer) null)).andReturn(buf);
|
||||||
expect(buf.getByte(13)).andReturn(Byte.valueOf((byte) 14));
|
expect(buf.getByte(13)).andReturn(Byte.valueOf((byte) 14));
|
||||||
expect(buf.getShort(15)).andReturn(Short.valueOf((short) 16));
|
expect(buf.getShort(15)).andReturn(Short.valueOf((short) 16));
|
||||||
expect(buf.getUnsignedMedium(17)).andReturn(18);
|
expect(buf.getUnsignedMedium(17)).andReturn(18);
|
||||||
|
@ -64,7 +64,7 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void capacity(int newCapacity) {
|
public ByteBuf capacity(int newCapacity) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void clear() {
|
public ByteBuf clear() {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,12 +130,12 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void discardReadBytes() {
|
public ByteBuf discardReadBytes() {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void ensureWritableBytes(int writableBytes) {
|
public ByteBuf ensureWritableBytes(int writableBytes) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -168,35 +168,38 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, byte[] dst, int dstIndex, int length) {
|
public ByteBuf getBytes(int index, byte[] dst, int dstIndex, int length) {
|
||||||
checkIndex(index, length);
|
checkIndex(index, length);
|
||||||
buffer.getBytes(index, dst, dstIndex, length);
|
buffer.getBytes(index, dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, byte[] dst) {
|
public ByteBuf getBytes(int index, byte[] dst) {
|
||||||
checkIndex(index, dst.length);
|
checkIndex(index, dst.length);
|
||||||
buffer.getBytes(index, dst);
|
buffer.getBytes(index, dst);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuffer dst) {
|
public ByteBuf getBytes(int index, ByteBuffer dst) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
public ByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length) {
|
||||||
checkIndex(index, length);
|
checkIndex(index, length);
|
||||||
buffer.getBytes(index, dst, dstIndex, length);
|
buffer.getBytes(index, dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuf dst, int length) {
|
public ByteBuf getBytes(int index, ByteBuf dst, int length) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, ByteBuf dst) {
|
public ByteBuf getBytes(int index, ByteBuf dst) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -207,7 +210,7 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getBytes(int index, OutputStream out, int length)
|
public ByteBuf getBytes(int index, OutputStream out, int length)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
@ -354,12 +357,13 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void markReaderIndex() {
|
public ByteBuf markReaderIndex() {
|
||||||
buffer.markReaderIndex();
|
buffer.markReaderIndex();
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void markWriterIndex() {
|
public ByteBuf markWriterIndex() {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -412,35 +416,38 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(byte[] dst, int dstIndex, int length) {
|
public ByteBuf readBytes(byte[] dst, int dstIndex, int length) {
|
||||||
checkReadableBytes(length);
|
checkReadableBytes(length);
|
||||||
buffer.readBytes(dst, dstIndex, length);
|
buffer.readBytes(dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(byte[] dst) {
|
public ByteBuf readBytes(byte[] dst) {
|
||||||
checkReadableBytes(dst.length);
|
checkReadableBytes(dst.length);
|
||||||
buffer.readBytes(dst);
|
buffer.readBytes(dst);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(ByteBuffer dst) {
|
public ByteBuf readBytes(ByteBuffer dst) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(ByteBuf dst, int dstIndex, int length) {
|
public ByteBuf readBytes(ByteBuf dst, int dstIndex, int length) {
|
||||||
checkReadableBytes(length);
|
checkReadableBytes(length);
|
||||||
buffer.readBytes(dst, dstIndex, length);
|
buffer.readBytes(dst, dstIndex, length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(ByteBuf dst, int length) {
|
public ByteBuf readBytes(ByteBuf dst, int length) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(ByteBuf dst) {
|
public ByteBuf readBytes(ByteBuf dst) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -463,7 +470,7 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readBytes(OutputStream out, int length) throws IOException {
|
public ByteBuf readBytes(OutputStream out, int length) throws IOException {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -473,8 +480,9 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readerIndex(int readerIndex) {
|
public ByteBuf readerIndex(int readerIndex) {
|
||||||
buffer.readerIndex(readerIndex);
|
buffer.readerIndex(readerIndex);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -538,52 +546,53 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resetReaderIndex() {
|
public ByteBuf resetReaderIndex() {
|
||||||
buffer.resetReaderIndex();
|
buffer.resetReaderIndex();
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resetWriterIndex() {
|
public ByteBuf resetWriterIndex() {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBoolean(int index, boolean value) {
|
public ByteBuf setBoolean(int index, boolean value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setByte(int index, int value) {
|
public ByteBuf setByte(int index, int value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, byte[] src, int srcIndex, int length) {
|
public ByteBuf setBytes(int index, byte[] src, int srcIndex, int length) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, byte[] src) {
|
public ByteBuf setBytes(int index, byte[] src) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuffer src) {
|
public ByteBuf setBytes(int index, ByteBuffer src) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
public ByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuf src, int length) {
|
public ByteBuf setBytes(int index, ByteBuf src, int length) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setBytes(int index, ByteBuf src) {
|
public ByteBuf setBytes(int index, ByteBuf src) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -594,7 +603,7 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setZero(int index, int length) {
|
public ByteBuf setZero(int index, int length) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -605,49 +614,50 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setIndex(int readerIndex, int writerIndex) {
|
public ByteBuf setIndex(int readerIndex, int writerIndex) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setInt(int index, int value) {
|
public ByteBuf setInt(int index, int value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setLong(int index, long value) {
|
public ByteBuf setLong(int index, long value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setMedium(int index, int value) {
|
public ByteBuf setMedium(int index, int value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setShort(int index, int value) {
|
public ByteBuf setShort(int index, int value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setChar(int index, int value) {
|
public ByteBuf setChar(int index, int value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setFloat(int index, float value) {
|
public ByteBuf setFloat(int index, float value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setDouble(int index, double value) {
|
public ByteBuf setDouble(int index, double value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void skipBytes(int length) {
|
public ByteBuf skipBytes(int length) {
|
||||||
checkReadableBytes(length);
|
checkReadableBytes(length);
|
||||||
buffer.skipBytes(length);
|
buffer.skipBytes(length);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -726,42 +736,42 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBoolean(boolean value) {
|
public ByteBuf writeBoolean(boolean value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeByte(int value) {
|
public ByteBuf writeByte(int value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(byte[] src, int srcIndex, int length) {
|
public ByteBuf writeBytes(byte[] src, int srcIndex, int length) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(byte[] src) {
|
public ByteBuf writeBytes(byte[] src) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(ByteBuffer src) {
|
public ByteBuf writeBytes(ByteBuffer src) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(ByteBuf src, int srcIndex, int length) {
|
public ByteBuf writeBytes(ByteBuf src, int srcIndex, int length) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(ByteBuf src, int length) {
|
public ByteBuf writeBytes(ByteBuf src, int length) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeBytes(ByteBuf src) {
|
public ByteBuf writeBytes(ByteBuf src) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -777,22 +787,22 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeInt(int value) {
|
public ByteBuf writeInt(int value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeLong(long value) {
|
public ByteBuf writeLong(long value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeMedium(int value) {
|
public ByteBuf writeMedium(int value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeZero(int length) {
|
public ByteBuf writeZero(int length) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -802,27 +812,27 @@ class ReplayingDecoderBuffer implements ByteBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writerIndex(int writerIndex) {
|
public ByteBuf writerIndex(int writerIndex) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeShort(int value) {
|
public ByteBuf writeShort(int value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeChar(int value) {
|
public ByteBuf writeChar(int value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeFloat(float value) {
|
public ByteBuf writeFloat(float value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeDouble(double value) {
|
public ByteBuf writeDouble(double value) {
|
||||||
throw new UnreplayableOperationException();
|
throw new UnreplayableOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user