Set race to send out status messages (including boat location details)

- Untested, so not sure of accuracy yet

#story[778]
This commit is contained in:
Erika Savell
2017-04-30 20:18:04 +12:00
parent e2f3abffc6
commit bbd282bd9b
3 changed files with 17 additions and 14 deletions
+3 -12
View File
@@ -26,11 +26,6 @@ public class Event {
RaceDataSource raceDataSource; RaceDataSource raceDataSource;
RegattaDataSource regattaDataSource; RegattaDataSource regattaDataSource;
//Sequence numbers for XML messages.
private short regattaXMLSequenceNumber = 0;
private short raceXMLSequenceNumber = 0;
private short boatXMLSequenceNumber = 0;
MockOutput mockOutput; MockOutput mockOutput;
public Event(RaceDataSource raceData, RegattaDataSource regattaData) { public Event(RaceDataSource raceData, RegattaDataSource regattaData) {
@@ -45,14 +40,10 @@ public class Event {
} }
public void start() { public void start() {
System.out.println("\nREGATTA DATA\n");//TEMP REMOVE debug
sendRegattaData();
System.out.println("\nRACE DATA\n");//TEMP REMOVE debug
sendRaceData();
//System.out.println("\nBOAT DATA\n");//TEMP REMOVE debug
sendBoatData();
//System.out.println("RACE STARTING!!\n\n");//TEMP REMOVE debug sendRegattaData();
sendRaceData();
sendBoatData();
Race newRace = new Race(raceDataSource, 15, mockOutput); Race newRace = new Race(raceDataSource, 15, mockOutput);
new Thread((newRace)).start(); new Thread((newRace)).start();
+1 -1
View File
@@ -173,7 +173,7 @@ public class Race implements Runnable {
} }
} }
RaceStatus raceStatus = new RaceStatus(totalTimeElapsed, raceId, 3, 2, boatStatusMessages); RaceStatus raceStatus = new RaceStatus(totalTimeElapsed, raceId, 3, 2, boatStatusMessages);
mockOutput.parseRaceStatus(); mockOutput.parseRaceStatus(raceStatus);
} }
} }
}.start(); }.start();
@@ -101,11 +101,23 @@ public class MockOutput implements Runnable
addMessageToBufferToSend(binaryMessageEncoder.getFullMessage()); addMessageToBufferToSend(binaryMessageEncoder.getFullMessage());
} }
public synchronized void parseRaceStatus(RaceStatus raceStatus){ public synchronized void parseRaceStatus(RaceStatus raceStatus){
//iterates the sequence number
raceStatusSequenceNumber++;
//encodeds the messages
byte[] encodedRaceStatus = messageEncoder.raceStatus(raceStatus);
//encodeds the full message with header
BinaryMessageEncoder binaryMessageEncoder = new BinaryMessageEncoder(MessageType.RACESTATUS, System.currentTimeMillis(), messageNumber, (short)encodedRaceStatus.length,
encodedRaceStatus);
//iterates the message number
messageNumber++;
addMessageToBufferToSend(binaryMessageEncoder.getFullMessage());
} }