Add InPacket interface and ByteBuf implementation
Replacement for LittleEndianAccessor, SeekableLittleEndianAccessor, GenericLittleEndianAccessor, and GenericSeekableLittleEndianAccessor.
This commit is contained in:
5
pom.xml
5
pom.xml
@@ -47,6 +47,11 @@
|
||||
<artifactId>jcip-annotations</artifactId>
|
||||
<version>1.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.netty</groupId>
|
||||
<artifactId>netty-buffer</artifactId>
|
||||
<version>4.1.65.Final</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Logging -->
|
||||
<dependency>
|
||||
|
||||
79
src/main/java/net/packet/ByteBufInPacket.java
Normal file
79
src/main/java/net/packet/ByteBufInPacket.java
Normal file
@@ -0,0 +1,79 @@
|
||||
package net.packet;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
public class ByteBufInPacket implements InPacket {
|
||||
private final ByteBuf byteBuf;
|
||||
|
||||
public ByteBufInPacket(ByteBuf byteBuf) {
|
||||
this.byteBuf = byteBuf;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] getBytes() {
|
||||
// TODO
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte readByte() {
|
||||
return byteBuf.readByte();
|
||||
}
|
||||
|
||||
@Override
|
||||
public short readShort() {
|
||||
return byteBuf.readShortLE();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int readInt() {
|
||||
return byteBuf.readIntLE();
|
||||
}
|
||||
|
||||
@Override
|
||||
public long readLong() {
|
||||
return byteBuf.readLongLE();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Point readPoint() {
|
||||
final short x = byteBuf.readShortLE();
|
||||
final short y = byteBuf.readShortLE();
|
||||
return new Point(x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String readString() {
|
||||
// TODO
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] read(int numberOfBytes) {
|
||||
byte[] bytes = new byte[numberOfBytes];
|
||||
byteBuf.readBytes(bytes);
|
||||
return bytes;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void skip(int numberOfBytes) {
|
||||
byteBuf.skipBytes(numberOfBytes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int available() {
|
||||
return byteBuf.readableBytes();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void seek(int byteOffset) {
|
||||
byteBuf.readerIndex(byteOffset);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPosition() {
|
||||
return byteBuf.readerIndex();
|
||||
}
|
||||
}
|
||||
11
src/main/java/net/packet/ByteBufOutPacket.java
Normal file
11
src/main/java/net/packet/ByteBufOutPacket.java
Normal file
@@ -0,0 +1,11 @@
|
||||
package net.packet;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
public class ByteBufOutPacket implements OutPacket {
|
||||
private final ByteBuf byteBuf;
|
||||
|
||||
public ByteBufOutPacket(ByteBuf byteBuf) {
|
||||
this.byteBuf = byteBuf;
|
||||
}
|
||||
}
|
||||
17
src/main/java/net/packet/InPacket.java
Normal file
17
src/main/java/net/packet/InPacket.java
Normal file
@@ -0,0 +1,17 @@
|
||||
package net.packet;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
public interface InPacket extends Packet {
|
||||
byte readByte();
|
||||
short readShort();
|
||||
int readInt();
|
||||
long readLong();
|
||||
Point readPoint();
|
||||
String readString();
|
||||
byte[] read(int numberOfBytes);
|
||||
void skip(int numberOfBytes);
|
||||
int available();
|
||||
void seek(int byteOffset);
|
||||
int getPosition();
|
||||
}
|
||||
4
src/main/java/net/packet/OutPacket.java
Normal file
4
src/main/java/net/packet/OutPacket.java
Normal file
@@ -0,0 +1,4 @@
|
||||
package net.packet;
|
||||
|
||||
public interface OutPacket extends Packet {
|
||||
}
|
||||
5
src/main/java/net/packet/Packet.java
Normal file
5
src/main/java/net/packet/Packet.java
Normal file
@@ -0,0 +1,5 @@
|
||||
package net.packet;
|
||||
|
||||
public interface Packet {
|
||||
byte[] getBytes();
|
||||
}
|
||||
Reference in New Issue
Block a user