Created ack number generator for use by multiple services

#story[1100]
main
Connor Taylor-Brown 9 years ago
parent f8150ef449
commit 4b3cc8e126

@ -4,6 +4,7 @@ import mock.model.RaceLogic;
import mock.model.ClientConnection;
import mock.model.SourceIdAllocator;
import mock.model.commandFactory.CompositeCommand;
import network.AckSequencer;
import network.Messages.Enums.XMLMessageType;
import network.Messages.LatestMessages;
import network.Messages.XMLMessage;
@ -58,11 +59,6 @@ public class ConnectionAcceptor implements Runnable {
*/
private SourceIdAllocator sourceIdAllocator;
//Acknowledgement number for packets
private int ackNumber = 0;
//race xml sequence number
private short raceXMLSequenceNumber;
//boat xml sequence number
@ -263,7 +259,7 @@ public class ConnectionAcceptor implements Runnable {
//Create the message.
XMLMessage message = new XMLMessage(
XMLMessage.currentVersionNumber,
getNextAckNumber(),
AckSequencer.getNextAckNum(),
System.currentTimeMillis(),
messageType,
sequenceNumber,
@ -272,15 +268,4 @@ public class ConnectionAcceptor implements Runnable {
return message;
}
/**
* Increments the ackNumber value, and returns it.
* @return Incremented ackNumber.
*/
private int getNextAckNumber(){
this.ackNumber++;
return this.ackNumber;
}
}

@ -28,7 +28,6 @@ public class RaceServer {
this.latestMessages = latestMessages;
}
/**
* Parses the race to create a snapshot, and places it in latestMessages.
*/

@ -0,0 +1,21 @@
package network;
import java.util.concurrent.atomic.AtomicInteger;
/**
* Common source of ack numbers for all messages
*/
public class AckSequencer {
/**
* Generator for ack numbers
*/
private static AtomicInteger ackNum = new AtomicInteger(0);
/**
* Retrieve next ack number
* @return next ack number
*/
public static int getNextAckNum() {
return ackNum.getAndIncrement();
}
}
Loading…
Cancel
Save