From 1426b87534af7489c7d14679ed3fc88c4f8e1fc4 Mon Sep 17 00:00:00 2001 From: Collin Smith Date: Tue, 23 Jun 2020 21:45:06 -0700 Subject: [PATCH] Filled in UnreliableOrderedMessageChannel --- .../channel/UnreliableOrderedMessageChannel.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/server/netty/src/com/riiablo/net/reliable/channel/UnreliableOrderedMessageChannel.java b/server/netty/src/com/riiablo/net/reliable/channel/UnreliableOrderedMessageChannel.java index 0ff1786e..22feb2b5 100644 --- a/server/netty/src/com/riiablo/net/reliable/channel/UnreliableOrderedMessageChannel.java +++ b/server/netty/src/com/riiablo/net/reliable/channel/UnreliableOrderedMessageChannel.java @@ -7,7 +7,9 @@ import io.netty.channel.socket.DatagramPacket; import com.riiablo.net.reliable.Log; import com.riiablo.net.reliable.MessageChannel; +import com.riiablo.net.reliable.Packet; import com.riiablo.net.reliable.ReliableConfiguration; +import com.riiablo.net.reliable.ReliableUtils; public class UnreliableOrderedMessageChannel extends MessageChannel { private static final String TAG = "UnreliableOrderedMessageChannel"; @@ -16,18 +18,21 @@ public class UnreliableOrderedMessageChannel extends MessageChannel { private static final boolean DEBUG_SEND = DEBUG && true; private static final boolean DEBUG_RECEIVE = DEBUG && true; + private int nextSequence = 0; + public UnreliableOrderedMessageChannel(PacketTransceiver packetTransceiver) { super(new ReliableConfiguration(), packetTransceiver); } @Override public void reset() { - + nextSequence = 0; + packetController.reset(); } @Override public void update(long time, DatagramChannel ch) { - + packetController.update(time); } @Override @@ -44,11 +49,14 @@ public class UnreliableOrderedMessageChannel extends MessageChannel { @Override public void onPacketTransmitted(ByteBuf bb) { - + packetTransceiver.sendPacket(bb); } @Override public void onPacketProcessed(int sequence, ByteBuf bb) { - + if (sequence == nextSequence || ReliableUtils.sequenceGreaterThan(sequence, nextSequence)) { + nextSequence = (sequence + 1) & Packet.USHORT_MAX_VALUE; + packetTransceiver.receivePacket(bb); + } } }