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

- Untested, so not sure of accuracy yet

#story[778]
main
Erika Savell 9 years ago
parent e2f3abffc6
commit bbd282bd9b

@ -26,11 +26,6 @@ public class Event {
RaceDataSource raceDataSource;
RegattaDataSource regattaDataSource;
//Sequence numbers for XML messages.
private short regattaXMLSequenceNumber = 0;
private short raceXMLSequenceNumber = 0;
private short boatXMLSequenceNumber = 0;
MockOutput mockOutput;
public Event(RaceDataSource raceData, RegattaDataSource regattaData) {
@ -45,15 +40,11 @@ public class Event {
}
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
Race newRace = new Race(raceDataSource, 15, mockOutput);
new Thread((newRace)).start();
}

@ -173,7 +173,7 @@ public class Race implements Runnable {
}
}
RaceStatus raceStatus = new RaceStatus(totalTimeElapsed, raceId, 3, 2, boatStatusMessages);
mockOutput.parseRaceStatus();
mockOutput.parseRaceStatus(raceStatus);
}
}
}.start();

@ -101,11 +101,23 @@ public class MockOutput implements Runnable
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());
}

Loading…
Cancel
Save