Created ack number generator for use by multiple services
#story[1100]
This commit is contained in:
@@ -4,6 +4,7 @@ import mock.model.RaceLogic;
|
|||||||
import mock.model.ClientConnection;
|
import mock.model.ClientConnection;
|
||||||
import mock.model.SourceIdAllocator;
|
import mock.model.SourceIdAllocator;
|
||||||
import mock.model.commandFactory.CompositeCommand;
|
import mock.model.commandFactory.CompositeCommand;
|
||||||
|
import network.AckSequencer;
|
||||||
import network.Messages.Enums.XMLMessageType;
|
import network.Messages.Enums.XMLMessageType;
|
||||||
import network.Messages.LatestMessages;
|
import network.Messages.LatestMessages;
|
||||||
import network.Messages.XMLMessage;
|
import network.Messages.XMLMessage;
|
||||||
@@ -58,11 +59,6 @@ public class ConnectionAcceptor implements Runnable {
|
|||||||
*/
|
*/
|
||||||
private SourceIdAllocator sourceIdAllocator;
|
private SourceIdAllocator sourceIdAllocator;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Acknowledgement number for packets
|
|
||||||
private int ackNumber = 0;
|
|
||||||
//race xml sequence number
|
//race xml sequence number
|
||||||
private short raceXMLSequenceNumber;
|
private short raceXMLSequenceNumber;
|
||||||
//boat xml sequence number
|
//boat xml sequence number
|
||||||
@@ -263,7 +259,7 @@ public class ConnectionAcceptor implements Runnable {
|
|||||||
//Create the message.
|
//Create the message.
|
||||||
XMLMessage message = new XMLMessage(
|
XMLMessage message = new XMLMessage(
|
||||||
XMLMessage.currentVersionNumber,
|
XMLMessage.currentVersionNumber,
|
||||||
getNextAckNumber(),
|
AckSequencer.getNextAckNum(),
|
||||||
System.currentTimeMillis(),
|
System.currentTimeMillis(),
|
||||||
messageType,
|
messageType,
|
||||||
sequenceNumber,
|
sequenceNumber,
|
||||||
@@ -272,15 +268,4 @@ public class ConnectionAcceptor implements Runnable {
|
|||||||
|
|
||||||
return message;
|
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;
|
this.latestMessages = latestMessages;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses the race to create a snapshot, and places it in 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();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user