You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
3.1 KiB
118 lines
3.1 KiB
package network.Messages;
|
|
|
|
|
|
import network.Messages.Enums.MessageType;
|
|
import network.Messages.Enums.RaceStartTypeEnum;
|
|
|
|
|
|
/**
|
|
* Represents a RaceStartStatus message from the API, section 4.5.
|
|
*/
|
|
public class RaceStartStatus extends AC35Data {
|
|
|
|
/**
|
|
* The current version number of this message type.
|
|
*/
|
|
public static final byte currentMessageVersionNumber = 1;
|
|
|
|
|
|
/**
|
|
* The version number of this message.
|
|
*/
|
|
private byte messageVersionNumber;
|
|
|
|
/**
|
|
* The time at which this message was created. Milliseconds since unix epoch.
|
|
*/
|
|
private long timestamp;
|
|
|
|
/**
|
|
* Sequence number of message.
|
|
*/
|
|
private int ackNum;
|
|
|
|
/**
|
|
* The time the race is expected to start at. Milliseconds since unix epoch.
|
|
*/
|
|
private long raceStartTime;
|
|
|
|
/**
|
|
* The ID of the race this message relates to.
|
|
*/
|
|
private int raceID;
|
|
|
|
/**
|
|
* The type of notification this is.
|
|
*/
|
|
private RaceStartTypeEnum notificationType;
|
|
|
|
|
|
/**
|
|
* Constructs a RaceStartStatus message with the given parameters.
|
|
* @param messageVersionNumber Version number of the message.
|
|
* @param timestamp The timestamp at which this message was generated.
|
|
* @param ackNum The sequence number of this message.
|
|
* @param raceStartTime The expected race start time.
|
|
* @param raceID The ID of the race this message relates to.
|
|
* @param notificationType The type of notification this is.
|
|
*/
|
|
public RaceStartStatus(byte messageVersionNumber, long timestamp, int ackNum, long raceStartTime, int raceID, RaceStartTypeEnum notificationType) {
|
|
super(MessageType.RACESTARTSTATUS);
|
|
this.messageVersionNumber = messageVersionNumber;
|
|
this.timestamp = timestamp;
|
|
this.ackNum = ackNum;
|
|
this.raceStartTime = raceStartTime;
|
|
this.raceID = raceID;
|
|
this.notificationType = notificationType;
|
|
}
|
|
|
|
|
|
/**
|
|
* Returns the version number of this message.
|
|
* @return Version number of this message.
|
|
*/
|
|
public byte getMessageVersionNumber() {
|
|
return messageVersionNumber;
|
|
}
|
|
|
|
/**
|
|
* Return the time at which this message was generated. Milliseconds since unix epoch.
|
|
* @return Time at which this message was generated.
|
|
*/
|
|
public long getTimestamp() {
|
|
return timestamp;
|
|
}
|
|
|
|
/**
|
|
* Returns the sequence number of this message.
|
|
* @return Sequence number of this message.
|
|
*/
|
|
public int getAckNum() {
|
|
return ackNum;
|
|
}
|
|
|
|
/**
|
|
* Returns the expected race start time. Milliseconds since unix epoch.
|
|
* @return Expected race start time.
|
|
*/
|
|
public long getRaceStartTime() {
|
|
return raceStartTime;
|
|
}
|
|
|
|
/**
|
|
* Returns the race ID this message relates to.
|
|
* @return Race ID this message relates to.
|
|
*/
|
|
public int getRaceID() {
|
|
return raceID;
|
|
}
|
|
|
|
/**
|
|
* Returns the type of start status notification this message is.
|
|
* @return The type of notification this is.
|
|
*/
|
|
public RaceStartTypeEnum getNotificationType() {
|
|
return notificationType;
|
|
}
|
|
}
|