mirror of
https://github.com/collinsmith/riiablo.git
synced 2025-07-13 01:07:43 +07:00
Added salt field to Netty fbs
This commit is contained in:
@ -14,21 +14,25 @@ public final class Netty extends Table {
|
||||
public void __init(int _i, ByteBuffer _bb) { bb_pos = _i; bb = _bb; vtable_start = bb_pos - bb.getInt(bb_pos); vtable_size = bb.getShort(vtable_start); }
|
||||
public Netty __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
|
||||
|
||||
public byte dataType() { int o = __offset(4); return o != 0 ? bb.get(o + bb_pos) : 0; }
|
||||
public Table data(Table obj) { int o = __offset(6); return o != 0 ? __union(obj, o) : null; }
|
||||
public long salt() { int o = __offset(4); return o != 0 ? bb.getLong(o + bb_pos) : 0L; }
|
||||
public byte dataType() { int o = __offset(6); return o != 0 ? bb.get(o + bb_pos) : 0; }
|
||||
public Table data(Table obj) { int o = __offset(8); return o != 0 ? __union(obj, o) : null; }
|
||||
|
||||
public static int createNetty(FlatBufferBuilder builder,
|
||||
long salt,
|
||||
byte data_type,
|
||||
int dataOffset) {
|
||||
builder.startObject(2);
|
||||
builder.startObject(3);
|
||||
Netty.addSalt(builder, salt);
|
||||
Netty.addData(builder, dataOffset);
|
||||
Netty.addDataType(builder, data_type);
|
||||
return Netty.endNetty(builder);
|
||||
}
|
||||
|
||||
public static void startNetty(FlatBufferBuilder builder) { builder.startObject(2); }
|
||||
public static void addDataType(FlatBufferBuilder builder, byte dataType) { builder.addByte(0, dataType, 0); }
|
||||
public static void addData(FlatBufferBuilder builder, int dataOffset) { builder.addOffset(1, dataOffset, 0); }
|
||||
public static void startNetty(FlatBufferBuilder builder) { builder.startObject(3); }
|
||||
public static void addSalt(FlatBufferBuilder builder, long salt) { builder.addLong(0, salt, 0L); }
|
||||
public static void addDataType(FlatBufferBuilder builder, byte dataType) { builder.addByte(1, dataType, 0); }
|
||||
public static void addData(FlatBufferBuilder builder, int dataOffset) { builder.addOffset(2, dataOffset, 0); }
|
||||
public static int endNetty(FlatBufferBuilder builder) {
|
||||
int o = builder.endObject();
|
||||
return o;
|
||||
|
@ -9,6 +9,7 @@ union NettyData {
|
||||
}
|
||||
|
||||
table Netty {
|
||||
salt:int64;
|
||||
data:NettyData;
|
||||
}
|
||||
|
||||
|
@ -90,7 +90,7 @@ public class ReliableEndpoint implements Endpoint<DatagramPacket>, MessageChanne
|
||||
public void sendMessage(int channelId, ByteBuffer bb) {
|
||||
if (DEBUG_SEND) Log.debug(TAG, "sendMessage");
|
||||
Validate.inclusiveBetween(0x00, 0xFF, channelId, "channelId must fit within a ubyte");
|
||||
if (DEBUG_CHANNEL) Log.debug(TAG, "sending message with on channel %d", channelId);
|
||||
if (DEBUG_CHANNEL) Log.debug(TAG, "sending message on channel %d", channelId);
|
||||
MessageChannel mc = channels[channelId];
|
||||
mc.sendMessage(channelId, channel, Unpooled.wrappedBuffer(bb)); // automatically released
|
||||
}
|
||||
|
@ -198,6 +198,8 @@ public class ReliablePacketController {
|
||||
}
|
||||
|
||||
final int sequence = channel.incSequence();
|
||||
if (DEBUG_SEND) Log.debug(TAG, "packet sequence set to %d", sequence);
|
||||
|
||||
int ack, ackBits;
|
||||
synchronized (receivedPackets) {
|
||||
ack = receivedPackets.generateAck();
|
||||
@ -263,6 +265,7 @@ public class ReliablePacketController {
|
||||
isStale = !receivedPackets.testInsert(sequence);
|
||||
}
|
||||
|
||||
if (DEBUG_RECEIVE) Log.debug(TAG, "packet reported sequence as %d", sequence);
|
||||
final boolean isAck = Packet.isAck(flags);
|
||||
if (!isStale && !isAck) {
|
||||
if (DEBUG_RECEIVE) Log.debug(TAG, "processing packet %d", sequence);
|
||||
|
@ -78,7 +78,7 @@ public class TestClient extends ApplicationAdapter implements PacketProcessor {
|
||||
FlatBufferBuilder builder = new FlatBufferBuilder();
|
||||
Connection.startConnection(builder);
|
||||
int dataOffset = Connection.endConnection(builder);
|
||||
int offset = Netty.createNetty(builder, NettyData.Connection, dataOffset);
|
||||
int offset = Netty.createNetty(builder, 0L, NettyData.Connection, dataOffset);
|
||||
Netty.finishNettyBuffer(builder, offset);
|
||||
|
||||
endpoint.sendMessage(QoS.Unreliable, builder.dataBuffer());
|
||||
|
@ -84,7 +84,7 @@ public class Client extends ApplicationAdapter {
|
||||
FlatBufferBuilder builder = new FlatBufferBuilder();
|
||||
Connection.startConnection(builder);
|
||||
int dataOffset = Connection.endConnection(builder);
|
||||
int offset = Netty.createNetty(builder, NettyData.Connection, dataOffset);
|
||||
int offset = Netty.createNetty(builder, 0L, NettyData.Connection, dataOffset);
|
||||
Netty.finishNettyBuffer(builder, offset);
|
||||
|
||||
ByteBuf byteBuf = Unpooled.wrappedBuffer(builder.dataBuffer());
|
||||
|
@ -52,7 +52,7 @@ public class ReliableUtilTest {
|
||||
FlatBufferBuilder builder = new FlatBufferBuilder();
|
||||
Connection.startConnection(builder);
|
||||
int dataOffset = Connection.endConnection(builder);
|
||||
int offset = Netty.createNetty(builder, NettyData.Connection, dataOffset);
|
||||
int offset = Netty.createNetty(builder, 0L, NettyData.Connection, dataOffset);
|
||||
Netty.finishNettyBuffer(builder, offset);
|
||||
Packet.Single.setContent(bb, builder.dataBuffer());
|
||||
|
||||
@ -80,7 +80,7 @@ public class ReliableUtilTest {
|
||||
FlatBufferBuilder builder = new FlatBufferBuilder();
|
||||
Connection.startConnection(builder);
|
||||
int dataOffset = Connection.endConnection(builder);
|
||||
int offset = Netty.createNetty(builder, NettyData.Connection, dataOffset);
|
||||
int offset = Netty.createNetty(builder, 0L, NettyData.Connection, dataOffset);
|
||||
Netty.finishNettyBuffer(builder, offset);
|
||||
|
||||
ByteBuf bbContent = bb.alloc().buffer();
|
||||
|
Reference in New Issue
Block a user