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>
|
<artifactId>jcip-annotations</artifactId>
|
||||||
<version>1.0</version>
|
<version>1.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.netty</groupId>
|
||||||
|
<artifactId>netty-buffer</artifactId>
|
||||||
|
<version>4.1.65.Final</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- Logging -->
|
<!-- Logging -->
|
||||||
<dependency>
|
<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