Filled in UnreliableOrderedMessageChannel

This commit is contained in:
Collin Smith
2020-06-23 21:45:06 -07:00
parent 53a1a6f117
commit 1426b87534

View File

@ -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);
}
}
}