Skip to content

Commit 3cea443

Browse files
committed
Use external reconnect for manual reconnect
1 parent 8374d7b commit 3cea443

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/main/java/com/faforever/client/chat/KittehChatService.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,8 @@ public class KittehChatService implements ChatService, InitializingBean, Disposa
120120
private final List<String> autoChannels = new ArrayList<>();
121121
private final Queue<String> bufferedChannels = new ArrayDeque<>();
122122

123+
private boolean autoReconnect;
124+
123125
@Override
124126
public void afterPropertiesSet() {
125127
eventBus.register(this);
@@ -338,6 +340,9 @@ private void joinBufferedChannels() {
338340

339341
private void onDisconnected() {
340342
channels.values().forEach(ChatChannel::clearUsers);
343+
if (autoReconnect) {
344+
connect();
345+
}
341346
}
342347

343348
private void onChatUserLeftChannel(String channelName, String username) {
@@ -399,6 +404,8 @@ private void populateColor(ChatChannelUser chatChannelUser) {
399404

400405
@Override
401406
public void connect() {
407+
log.info("Connecting to IRC");
408+
autoReconnect = true;
402409
Irc irc = clientProperties.getIrc();
403410
this.defaultChannelName = irc.getDefaultChannel();
404411

@@ -434,6 +441,7 @@ public void connect() {
434441

435442
@Override
436443
public void disconnect() {
444+
autoReconnect = false;
437445
log.info("Disconnecting from IRC");
438446
client.shutdown("Goodbye");
439447
}
@@ -527,11 +535,8 @@ public ConnectionState getConnectionState() {
527535

528536
@Override
529537
public void reconnect() {
530-
if (client.isConnectionAlive()) {
531-
client.reconnect();
532-
} else {
533-
client.connect();
534-
}
538+
disconnect();
539+
connect();
535540
}
536541

537542
@Override

0 commit comments

Comments
 (0)