perf: 重写部分代码

This commit is contained in:
2023-05-31 04:54:18 +08:00
parent 66441d41b6
commit 89665433db
3 changed files with 27 additions and 3 deletions

View File

@@ -56,14 +56,17 @@ public abstract class BallAPI {
private final Bootstrap bootstrap;
@NotNull
private final EventLoopGroup executors;
protected boolean enabled;
protected Channel channel;
private boolean enabled;
private boolean connected;
@NotNull
private List<BallListener> listeners;
protected BallAPI(@NotNull BallConfig config) {
this.config = config;
this.enabled = false;
this.connected = false;
serverInfo = new ConcurrentHashMap<>();
playerInfo = new ConcurrentHashMap<>();
@@ -154,6 +157,7 @@ public abstract class BallAPI {
@Override
public void onConnectRefused() {
enabled = false;
connected = false;
executors.shutdownGracefully();
getLogger().info("连接至服务中心的请求被拒绝,已关闭仓鼠球。");
}
@@ -252,6 +256,7 @@ public abstract class BallAPI {
ChannelFuture future = bootstrap.connect(config.getHost(), config.getPort()).await();
if (future.isSuccess()) {
channel = future.channel();
connected = true;
for (BallListener listener : listeners) {
listener.onConnectActive();
}
@@ -269,6 +274,7 @@ public abstract class BallAPI {
return;
}
channel = null;
connected = false;
if (tryCount <= 0) {
for (BallListener listener : getListeners()) {
try {
@@ -281,7 +287,7 @@ public abstract class BallAPI {
}
try {
connect();
} catch (InterruptedException e) {
} catch (Exception e) {
e.printStackTrace();
}
if (channel != null) {
@@ -320,6 +326,7 @@ public abstract class BallAPI {
}
channel = null;
connected = false;
executors.shutdownGracefully().await();
}
@@ -813,6 +820,11 @@ public abstract class BallAPI {
return info.getName();
}
@SuppressWarnings("BooleanMethodIsAlwaysInverted")
public boolean isConnected() {
return connected;
}
@NotNull
public Map<String, BallServerInfo> getAllServerInfo() {
return serverInfo;