package vooga.rts.networking.communications.clientmessages; import vooga.rts.networking.client.IClientModel; import vooga.rts.networking.communications.Message; import vooga.rts.networking.communications.TimeStamp; import vooga.rts.networking.communications.servermessages.ServerInfoMessage; import vooga.rts.networking.server.ConnectionThread; import vooga.rts.networking.server.IThreadContainer; /** * Sends a message back to itself to measure latency. * * @author David Winegar * */ public class ClientTimingMessage extends Message implements ClientInfoMessage, ServerInfoMessage { private static final long serialVersionUID = 8049396477825603070L; /** * Only allow passed in timestamps for this constructor. * * @param timeStamp stamp */ public ClientTimingMessage (TimeStamp timeStamp) { super(timeStamp); } @Override public void affectServer (ConnectionThread thread, IThreadContainer server) { thread.sendMessage(this); } @Override public void affectClient (IClientModel model) { model.setTimeDelay(getTimeStamp()); } }