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