mirror of
https://github.com/collinsmith/riiablo.git
synced 2025-07-09 15:28:18 +07:00
Filled in UnreliableOrderedMessageChannel
This commit is contained in:
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user