added timer task for ack message handling
parent
384a986563
commit
cb20cca48a
|
@ -0,0 +1,12 @@
|
|||
package earth.krakatao;
|
||||
|
||||
import java.util.TimerTask;
|
||||
|
||||
public class KraSocketClientMessageTimerTask extends TimerTask {
|
||||
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
KraSocketClient.getLogger().info("MessageTimerTask is running");
|
||||
}
|
||||
}
|
|
@ -6,6 +6,8 @@ import earth.krakatao.protocol.KraSocketClientProtocolMessage;
|
|||
import earth.krakatao.protocol.KraSocketClientProtocolStatus;
|
||||
import java.net.URI;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import org.java_websocket.client.WebSocketClient;
|
||||
import org.java_websocket.handshake.ServerHandshake;
|
||||
|
||||
|
@ -13,6 +15,8 @@ public class SocketClient extends WebSocketClient {
|
|||
|
||||
private final KraSocketClientProtocol kraProtocol;
|
||||
private final KraSocketClientEventInitiater kraSocketClientEventInitiater;
|
||||
private final TimerTask timerTask;
|
||||
private Timer timer;
|
||||
|
||||
public SocketClient(URI serverUri, KraSocketClientEventInitiater kraSocketClientEventInitiater,
|
||||
KraSocketClientProtocol kraProtocol) {
|
||||
|
@ -20,6 +24,8 @@ public class SocketClient extends WebSocketClient {
|
|||
|
||||
this.kraSocketClientEventInitiater = kraSocketClientEventInitiater;
|
||||
this.kraProtocol = kraProtocol;
|
||||
|
||||
this.timerTask = new KraSocketClientMessageTimerTask();
|
||||
}
|
||||
|
||||
public void SendMessage(KraSocketClientProtocolMessage kraProtocolMessage) {
|
||||
|
@ -37,6 +43,9 @@ public class SocketClient extends WebSocketClient {
|
|||
public void onOpen(ServerHandshake serverHandshake) {
|
||||
this.kraSocketClientEventInitiater.callOnOpen(serverHandshake);
|
||||
KraSocketClient.getLogger().info("connection opened");
|
||||
|
||||
this.timer = new Timer(true);
|
||||
this.timer.scheduleAtFixedRate(timerTask, 0, 3 * 1000);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -83,6 +92,8 @@ public class SocketClient extends WebSocketClient {
|
|||
this.kraSocketClientEventInitiater.callOnClose(code, reason, remote);
|
||||
KraSocketClient.logger.warning(
|
||||
"connection closed. Code: " + code + " reason: " + reason + " remote: " + remote);
|
||||
|
||||
this.timer.cancel();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -10,10 +10,7 @@ import java.util.function.Consumer;
|
|||
import lombok.Getter;
|
||||
|
||||
public class KraSocketClientProtocol {
|
||||
|
||||
//@Getter
|
||||
//ArrayList<Integer> cmdIDs = new ArrayList<>();
|
||||
|
||||
|
||||
@Getter
|
||||
private final ArrayList<Integer> cmdIDs;
|
||||
@Getter
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
package earth.krakatao.protocol;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public class KraSocketClientProtocolMessage {
|
||||
|
||||
|
@ -13,6 +12,23 @@ public class KraSocketClientProtocolMessage {
|
|||
private final String uuid;
|
||||
private final short cmdNumber;
|
||||
private final String args;
|
||||
@Setter
|
||||
private int trySendCount;
|
||||
@Setter
|
||||
private long time;
|
||||
|
||||
public KraSocketClientProtocolMessage(byte status, int cmdID, int dest, String uuid,
|
||||
short cmdNumber, String args) {
|
||||
this.status = status;
|
||||
this.cmdID = cmdID;
|
||||
this.dest = dest;
|
||||
this.uuid = uuid;
|
||||
this.cmdNumber = cmdNumber;
|
||||
this.args = args;
|
||||
|
||||
this.trySendCount = 0;
|
||||
this.time = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
public int getStatus() {
|
||||
return Byte.toUnsignedInt(status);
|
||||
|
|
Loading…
Reference in New Issue