Finish InPacket & OutPacket implementations

This commit is contained in:
P0nk
2021-06-20 21:27:50 +02:00
parent f3faee2e16
commit aaf4b558f3
5 changed files with 24 additions and 26 deletions

View File

@@ -11,15 +11,12 @@ public class ByteBufInPacket implements InPacket {
this.byteBuf = byteBuf;
}
@Override
public short getHeader() {
return byteBuf.getShortLE(0);
}
@Override
public byte[] getBytes() {
// TODO implement
throw new UnsupportedOperationException();
byte[] bytes = new byte[byteBuf.readableBytes()];
int readerIndex = byteBuf.readerIndex();
byteBuf.getBytes(readerIndex, bytes);
return bytes;
}
@Override
@@ -51,20 +48,25 @@ public class ByteBufInPacket implements InPacket {
@Override
public String readString() {
// TODO
return null;
short length = readShort();
char[] characters = new char[length];
for(int i = 0; i < length; i++) {
characters[i] = (char) readByte();
}
return String.valueOf(characters);
}
@Override
public byte[] readBytes(int bytesToRead) {
byte[] bytes = new byte[bytesToRead];
public byte[] readBytes(int numberOfBytes) {
byte[] bytes = new byte[numberOfBytes];
byteBuf.readBytes(bytes);
return bytes;
}
@Override
public void skip(int bytesToSkip) {
byteBuf.skipBytes(bytesToSkip);
public void skip(int numberOfBytes) {
byteBuf.skipBytes(numberOfBytes);
}
@Override

View File

@@ -23,15 +23,12 @@ public class ByteBufOutPacket implements OutPacket {
this.byteBuf = byteBuf;
}
@Override
public short getHeader() {
return byteBuf.getShortLE(0);
}
@Override
public byte[] getBytes() {
// TODO implement
throw new UnsupportedOperationException();
byte[] bytes = new byte[byteBuf.readableBytes()];
int readerIndex = byteBuf.readerIndex();
byteBuf.getBytes(readerIndex, bytes);
return bytes;
}
@Override
@@ -50,7 +47,7 @@ public class ByteBufOutPacket implements OutPacket {
}
@Override
public void writeShort(short value) {
public void writeShort(int value) {
byteBuf.writeShortLE(value);
}
@@ -82,7 +79,7 @@ public class ByteBufOutPacket implements OutPacket {
}
@Override
public void skip(int bytesToSkip) {
writeBytes(new byte[bytesToSkip]);
public void skip(int numberOfBytes) {
writeBytes(new byte[numberOfBytes]);
}
}

View File

@@ -9,7 +9,7 @@ public interface InPacket extends Packet {
long readLong();
Point readPoint();
String readString();
byte[] readBytes(int bytesToRead);
byte[] readBytes(int numberOfBytes);
void skip(int numberOfBytes);
int available();
void seek(int byteOffset);

View File

@@ -10,7 +10,7 @@ public interface OutPacket extends Packet {
void writeByte(byte value);
void writeByte(int value);
void writeBytes(byte[] value);
void writeShort(short value);
void writeShort(int value);
void writeInt(int value);
void writeLong(long value);
void writeBoolean(boolean value);

View File

@@ -1,6 +1,5 @@
package net.packet;
public interface Packet {
short getHeader();
byte[] getBytes();
}