packet: expected length
This commit is contained in:
@@ -26,4 +26,7 @@ public interface NetStream {
|
|||||||
int readUnsignedShort();
|
int readUnsignedShort();
|
||||||
|
|
||||||
void skipBytes(int count);
|
void skipBytes(int count);
|
||||||
|
|
||||||
|
void setExpectedLength(int value);
|
||||||
|
int getExpectedLength();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ public class PacketDecoder extends ReplayingDecoder<Packet> {
|
|||||||
NetStream netStream = new WrapperByteBufNetStream(byteBuf);
|
NetStream netStream = new WrapperByteBufNetStream(byteBuf);
|
||||||
|
|
||||||
int length = netStream.readVarInt();
|
int length = netStream.readVarInt();
|
||||||
|
netStream.setExpectedLength(length);
|
||||||
int id = netStream.readVarInt();
|
int id = netStream.readVarInt();
|
||||||
log.debug("PktLEN: {} | PktID: {}", length, id);
|
log.debug("PktLEN: {} | PktID: {}", length, id);
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import java.nio.charset.StandardCharsets;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class WrapperByteBufNetStream implements NetStream {
|
public class WrapperByteBufNetStream implements NetStream {
|
||||||
private final ByteBuf byteBuf;
|
private final ByteBuf byteBuf;
|
||||||
|
private int length;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte readByte() {
|
public byte readByte() {
|
||||||
@@ -128,4 +129,14 @@ public class WrapperByteBufNetStream implements NetStream {
|
|||||||
public void skipBytes(int count) {
|
public void skipBytes(int count) {
|
||||||
byteBuf.skipBytes(count);
|
byteBuf.skipBytes(count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setExpectedLength(int value) {
|
||||||
|
this.length = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getExpectedLength() {
|
||||||
|
return length;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user