added timer task for ack message handling

master
Alex 2022-02-27 14:44:25 +01:00
parent c94735a5d2
commit 78a985147e
3 changed files with 18 additions and 1 deletions

View File

@ -3,8 +3,10 @@ package earth.krakatao;
import earth.krakatao.events.KraSocketClientEventInitiater;
import earth.krakatao.events.KraSocketClientEventInterface;
import earth.krakatao.protocol.KraSocketClientProtocol;
import earth.krakatao.protocol.KraSocketClientProtocolMessage;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.function.Consumer;
import java.util.logging.Logger;
import lombok.Getter;

View File

@ -1,12 +1,25 @@
package earth.krakatao;
import earth.krakatao.protocol.KraSocketClientProtocolMessage;
import java.util.TimerTask;
import java.util.function.Consumer;
public class KraSocketClientMessageTimerTask extends TimerTask {
private final SocketClient socketClient;
public KraSocketClientMessageTimerTask(SocketClient socketClient) {
this.socketClient = socketClient;
}
@Override
public void run() {
KraSocketClient.getLogger().info("MessageTimerTask is running");
for (Consumer<KraSocketClientProtocolMessage> consumer : this.socketClient.getKraProtocol()
.getConsumerHashMap().values()) {
KraSocketClient.getLogger().info("consumer: " + consumer);
}
}
}

View File

@ -8,11 +8,13 @@ import java.net.URI;
import java.nio.ByteBuffer;
import java.util.Timer;
import java.util.TimerTask;
import lombok.Getter;
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake;
public class SocketClient extends WebSocketClient {
@Getter
private final KraSocketClientProtocol kraProtocol;
private final KraSocketClientEventInitiater kraSocketClientEventInitiater;
private TimerTask timerTask;
@ -42,7 +44,7 @@ public class SocketClient extends WebSocketClient {
this.kraSocketClientEventInitiater.callOnOpen(serverHandshake);
KraSocketClient.getLogger().info("connection opened");
this.timerTask = new KraSocketClientMessageTimerTask();
this.timerTask = new KraSocketClientMessageTimerTask(this);
this.timer = new Timer(true);
this.timer.scheduleAtFixedRate(timerTask, 0, 3 * 1000);
}