From 34e6ec83bf9921f5b1c1f497cdc61236cfacf542 Mon Sep 17 00:00:00 2001 From: godotg Date: Tue, 20 Dec 2022 23:14:40 +0800 Subject: [PATCH] perf[net]: use Objects requireNonNullElse method --- .../zfoo/net/core/gateway/GatewayServer.java | 8 +++---- .../core/gateway/WebsocketGatewayServer.java | 8 +++---- .../gateway/WebsocketSslGatewayServer.java | 16 ++++--------- .../com/zfoo/net/core/http/HttpServer.java | 9 ++++---- .../jprotobuf/JProtobufGatewayServer.java | 8 +++---- .../core/jprotobuf/JProtobufTcpClient.java | 10 ++++---- .../core/jprotobuf/JProtobufTcpServer.java | 8 ++++--- .../net/core/json/JsonWebsocketClient.java | 9 ++++---- .../net/core/json/JsonWebsocketServer.java | 8 ++++--- .../java/com/zfoo/net/core/tcp/TcpClient.java | 8 ++++--- .../java/com/zfoo/net/core/tcp/TcpServer.java | 8 ++++--- .../java/com/zfoo/net/core/udp/UdpClient.java | 8 +++---- .../java/com/zfoo/net/core/udp/UdpServer.java | 8 ++++--- .../net/core/websocket/WebsocketClient.java | 9 ++++---- .../net/core/websocket/WebsocketServer.java | 8 ++++--- .../zfoo/net/handler/BaseRouteHandler.java | 23 ++++++------------- .../zfoo/net/handler/ClientRouteHandler.java | 22 +++++------------- .../zfoo/net/handler/GatewayRouteHandler.java | 9 +------- .../zfoo/net/handler/ServerRouteHandler.java | 19 +++------------ 19 files changed, 84 insertions(+), 122 deletions(-) diff --git a/net/src/main/java/com/zfoo/net/core/gateway/GatewayServer.java b/net/src/main/java/com/zfoo/net/core/gateway/GatewayServer.java index d6d47bba..116c92a7 100644 --- a/net/src/main/java/com/zfoo/net/core/gateway/GatewayServer.java +++ b/net/src/main/java/com/zfoo/net/core/gateway/GatewayServer.java @@ -22,9 +22,9 @@ import com.zfoo.protocol.IPacket; import com.zfoo.util.net.HostAndPort; import io.netty.channel.socket.SocketChannel; import io.netty.handler.timeout.IdleStateHandler; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; import org.springframework.lang.Nullable; +import java.util.Objects; import java.util.function.BiFunction; /** @@ -39,11 +39,9 @@ public class GatewayServer extends AbstractServer { this(host, packetFilter, null); } - public GatewayServer(HostAndPort host, - @Nullable BiFunction packetFilter, - GatewayRouteHandler gatewayRouteHandler) { + public GatewayServer(HostAndPort host, @Nullable BiFunction packetFilter, @Nullable GatewayRouteHandler gatewayRouteHandler) { super(host); - this.gatewayRouteHandler = MoreObjects.firstNonNull(gatewayRouteHandler, new GatewayRouteHandler(packetFilter)); + this.gatewayRouteHandler = Objects.requireNonNullElse(gatewayRouteHandler, new GatewayRouteHandler(packetFilter)); } @Override diff --git a/net/src/main/java/com/zfoo/net/core/gateway/WebsocketGatewayServer.java b/net/src/main/java/com/zfoo/net/core/gateway/WebsocketGatewayServer.java index 307c224a..67dfc809 100644 --- a/net/src/main/java/com/zfoo/net/core/gateway/WebsocketGatewayServer.java +++ b/net/src/main/java/com/zfoo/net/core/gateway/WebsocketGatewayServer.java @@ -27,9 +27,9 @@ import io.netty.handler.codec.http.HttpServerCodec; import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler; import io.netty.handler.stream.ChunkedWriteHandler; import io.netty.handler.timeout.IdleStateHandler; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; import org.springframework.lang.Nullable; +import java.util.Objects; import java.util.function.BiFunction; /** @@ -44,11 +44,9 @@ public class WebsocketGatewayServer extends AbstractServer { this(host, packetFilter, null); } - public WebsocketGatewayServer(HostAndPort host, - @Nullable BiFunction packetFilter, - GatewayRouteHandler gatewayRouteHandler) { + public WebsocketGatewayServer(HostAndPort host, @Nullable BiFunction packetFilter, @Nullable GatewayRouteHandler gatewayRouteHandler) { super(host); - this.gatewayRouteHandler = MoreObjects.firstNonNull(gatewayRouteHandler, new GatewayRouteHandler(packetFilter)); + this.gatewayRouteHandler = Objects.requireNonNullElse(gatewayRouteHandler, new GatewayRouteHandler(packetFilter)); } diff --git a/net/src/main/java/com/zfoo/net/core/gateway/WebsocketSslGatewayServer.java b/net/src/main/java/com/zfoo/net/core/gateway/WebsocketSslGatewayServer.java index 3d1e5dfe..4730ccce 100644 --- a/net/src/main/java/com/zfoo/net/core/gateway/WebsocketSslGatewayServer.java +++ b/net/src/main/java/com/zfoo/net/core/gateway/WebsocketSslGatewayServer.java @@ -30,12 +30,13 @@ import io.netty.handler.ssl.SslContext; import io.netty.handler.ssl.SslContextBuilder; import io.netty.handler.stream.ChunkedWriteHandler; import io.netty.handler.timeout.IdleStateHandler; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.lang.Nullable; import javax.net.ssl.SSLException; import java.io.InputStream; +import java.util.Objects; import java.util.function.BiFunction; /** @@ -50,25 +51,18 @@ public class WebsocketSslGatewayServer extends AbstractServer { private final GatewayRouteHandler gatewayRouteHandler; - public WebsocketSslGatewayServer(HostAndPort host, - InputStream pem, - InputStream key, - BiFunction packetFilter) { + public WebsocketSslGatewayServer(HostAndPort host, InputStream pem, InputStream key, @Nullable BiFunction packetFilter) { this(host, pem, key, packetFilter, null); } - public WebsocketSslGatewayServer(HostAndPort host, - InputStream pem, - InputStream key, - BiFunction packetFilter, - GatewayRouteHandler gatewayRouteHandler) { + public WebsocketSslGatewayServer(HostAndPort host, InputStream pem, InputStream key, @Nullable BiFunction packetFilter, @Nullable GatewayRouteHandler gatewayRouteHandler) { super(host); try { this.sslContext = SslContextBuilder.forServer(pem, key).build(); } catch (SSLException e) { logger.error(ExceptionUtils.getMessage(e)); } - this.gatewayRouteHandler = MoreObjects.firstNonNull(gatewayRouteHandler, new GatewayRouteHandler(packetFilter)); + this.gatewayRouteHandler = Objects.requireNonNullElse(gatewayRouteHandler, new GatewayRouteHandler(packetFilter)); } @Override diff --git a/net/src/main/java/com/zfoo/net/core/http/HttpServer.java b/net/src/main/java/com/zfoo/net/core/http/HttpServer.java index 2021459d..693ecf45 100644 --- a/net/src/main/java/com/zfoo/net/core/http/HttpServer.java +++ b/net/src/main/java/com/zfoo/net/core/http/HttpServer.java @@ -24,8 +24,9 @@ import io.netty.handler.codec.http.FullHttpRequest; import io.netty.handler.codec.http.HttpObjectAggregator; import io.netty.handler.codec.http.HttpServerCodec; import io.netty.handler.stream.ChunkedWriteHandler; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; +import org.springframework.lang.Nullable; +import java.util.Objects; import java.util.function.Function; /** @@ -46,12 +47,10 @@ public class HttpServer extends AbstractServer { } - public HttpServer(HostAndPort host, - Function uriResolver, - ServerRouteHandler serverRouteHandler) { + public HttpServer(HostAndPort host, Function uriResolver, @Nullable ServerRouteHandler serverRouteHandler) { super(host); this.uriResolver = uriResolver; - this.serverRouteHandler = MoreObjects.firstNonNull(serverRouteHandler, new ServerRouteHandler()); + this.serverRouteHandler = Objects.requireNonNullElse(serverRouteHandler, new ServerRouteHandler()); } @Override diff --git a/net/src/main/java/com/zfoo/net/core/jprotobuf/JProtobufGatewayServer.java b/net/src/main/java/com/zfoo/net/core/jprotobuf/JProtobufGatewayServer.java index 6eb5ddf5..8a93a58c 100644 --- a/net/src/main/java/com/zfoo/net/core/jprotobuf/JProtobufGatewayServer.java +++ b/net/src/main/java/com/zfoo/net/core/jprotobuf/JProtobufGatewayServer.java @@ -22,9 +22,9 @@ import com.zfoo.protocol.IPacket; import com.zfoo.util.net.HostAndPort; import io.netty.channel.socket.SocketChannel; import io.netty.handler.timeout.IdleStateHandler; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; import org.springframework.lang.Nullable; +import java.util.Objects; import java.util.function.BiFunction; /** @@ -40,11 +40,9 @@ public class JProtobufGatewayServer extends AbstractServer { } - public JProtobufGatewayServer(HostAndPort host, - @Nullable BiFunction packetFilter, - GatewayRouteHandler gatewayRouteHandler) { + public JProtobufGatewayServer(HostAndPort host, @Nullable BiFunction packetFilter, @Nullable GatewayRouteHandler gatewayRouteHandler) { super(host); - this.gatewayRouteHandler = MoreObjects.firstNonNull(gatewayRouteHandler, new GatewayRouteHandler(packetFilter)); + this.gatewayRouteHandler = Objects.requireNonNullElse(gatewayRouteHandler, new GatewayRouteHandler(packetFilter)); } @Override diff --git a/net/src/main/java/com/zfoo/net/core/jprotobuf/JProtobufTcpClient.java b/net/src/main/java/com/zfoo/net/core/jprotobuf/JProtobufTcpClient.java index 8c69aa9d..52decbcc 100644 --- a/net/src/main/java/com/zfoo/net/core/jprotobuf/JProtobufTcpClient.java +++ b/net/src/main/java/com/zfoo/net/core/jprotobuf/JProtobufTcpClient.java @@ -18,11 +18,11 @@ import com.zfoo.net.handler.ClientRouteHandler; import com.zfoo.net.handler.codec.jprotobuf.JProtobufTcpCodecHandler; import com.zfoo.net.handler.idle.ClientIdleHandler; import com.zfoo.util.net.HostAndPort; -import io.netty.channel.Channel; -import io.netty.channel.ChannelInitializer; import io.netty.channel.socket.SocketChannel; import io.netty.handler.timeout.IdleStateHandler; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; +import org.springframework.lang.Nullable; + +import java.util.Objects; /** * @author godotg @@ -36,9 +36,9 @@ public class JProtobufTcpClient extends AbstractClient { this(host, null); } - public JProtobufTcpClient(HostAndPort host, ClientRouteHandler clientRouteHandler) { + public JProtobufTcpClient(HostAndPort host, @Nullable ClientRouteHandler clientRouteHandler) { super(host); - this.clientRouteHandler = MoreObjects.firstNonNull(clientRouteHandler, new ClientRouteHandler()); + this.clientRouteHandler = Objects.requireNonNullElse(clientRouteHandler, new ClientRouteHandler()); } @Override diff --git a/net/src/main/java/com/zfoo/net/core/jprotobuf/JProtobufTcpServer.java b/net/src/main/java/com/zfoo/net/core/jprotobuf/JProtobufTcpServer.java index 2a6b3b6f..27ff4f94 100644 --- a/net/src/main/java/com/zfoo/net/core/jprotobuf/JProtobufTcpServer.java +++ b/net/src/main/java/com/zfoo/net/core/jprotobuf/JProtobufTcpServer.java @@ -20,7 +20,9 @@ import com.zfoo.net.handler.idle.ServerIdleHandler; import com.zfoo.util.net.HostAndPort; import io.netty.channel.socket.SocketChannel; import io.netty.handler.timeout.IdleStateHandler; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; +import org.springframework.lang.Nullable; + +import java.util.Objects; /** * @author godotg @@ -34,9 +36,9 @@ public class JProtobufTcpServer extends AbstractServer { this(host, null); } - public JProtobufTcpServer(HostAndPort host, ServerRouteHandler serverRouteHandler) { + public JProtobufTcpServer(HostAndPort host, @Nullable ServerRouteHandler serverRouteHandler) { super(host); - this.serverRouteHandler = MoreObjects.firstNonNull(serverRouteHandler, new ServerRouteHandler()); + this.serverRouteHandler = Objects.requireNonNullElse(serverRouteHandler, new ServerRouteHandler()); } @Override diff --git a/net/src/main/java/com/zfoo/net/core/json/JsonWebsocketClient.java b/net/src/main/java/com/zfoo/net/core/json/JsonWebsocketClient.java index 95418db7..0d5b43c3 100644 --- a/net/src/main/java/com/zfoo/net/core/json/JsonWebsocketClient.java +++ b/net/src/main/java/com/zfoo/net/core/json/JsonWebsocketClient.java @@ -24,7 +24,9 @@ import io.netty.handler.codec.http.HttpObjectAggregator; import io.netty.handler.codec.http.websocketx.WebSocketClientProtocolConfig; import io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandler; import io.netty.handler.stream.ChunkedWriteHandler; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; +import org.springframework.lang.Nullable; + +import java.util.Objects; /** * @author godotg @@ -39,11 +41,10 @@ public class JsonWebsocketClient extends AbstractClient { this(host, webSocketClientProtocolConfig, null); } - public JsonWebsocketClient(HostAndPort host, WebSocketClientProtocolConfig webSocketClientProtocolConfig, - ClientRouteHandler clientRouteHandler) { + public JsonWebsocketClient(HostAndPort host, WebSocketClientProtocolConfig webSocketClientProtocolConfig, @Nullable ClientRouteHandler clientRouteHandler) { super(host); this.webSocketClientProtocolConfig = webSocketClientProtocolConfig; - this.clientRouteHandler = MoreObjects.firstNonNull(clientRouteHandler, new ClientRouteHandler()); + this.clientRouteHandler = Objects.requireNonNullElse(clientRouteHandler, new ClientRouteHandler()); } diff --git a/net/src/main/java/com/zfoo/net/core/json/JsonWebsocketServer.java b/net/src/main/java/com/zfoo/net/core/json/JsonWebsocketServer.java index 82b0da7b..d723149f 100644 --- a/net/src/main/java/com/zfoo/net/core/json/JsonWebsocketServer.java +++ b/net/src/main/java/com/zfoo/net/core/json/JsonWebsocketServer.java @@ -23,7 +23,9 @@ import io.netty.handler.codec.http.HttpObjectAggregator; import io.netty.handler.codec.http.HttpServerCodec; import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler; import io.netty.handler.stream.ChunkedWriteHandler; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; +import org.springframework.lang.Nullable; + +import java.util.Objects; /** * @author godotg @@ -37,9 +39,9 @@ public class JsonWebsocketServer extends AbstractServer { this(host, null); } - public JsonWebsocketServer(HostAndPort host, ServerRouteHandler serverRouteHandler) { + public JsonWebsocketServer(HostAndPort host, @Nullable ServerRouteHandler serverRouteHandler) { super(host); - this.serverRouteHandler = MoreObjects.firstNonNull(serverRouteHandler, new ServerRouteHandler()); + this.serverRouteHandler = Objects.requireNonNullElse(serverRouteHandler, new ServerRouteHandler()); } @Override diff --git a/net/src/main/java/com/zfoo/net/core/tcp/TcpClient.java b/net/src/main/java/com/zfoo/net/core/tcp/TcpClient.java index fd747778..fbccbf97 100644 --- a/net/src/main/java/com/zfoo/net/core/tcp/TcpClient.java +++ b/net/src/main/java/com/zfoo/net/core/tcp/TcpClient.java @@ -20,7 +20,9 @@ import com.zfoo.net.handler.idle.ClientIdleHandler; import com.zfoo.util.net.HostAndPort; import io.netty.channel.socket.SocketChannel; import io.netty.handler.timeout.IdleStateHandler; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; +import org.springframework.lang.Nullable; + +import java.util.Objects; /** * @author godotg @@ -34,9 +36,9 @@ public class TcpClient extends AbstractClient { this(host, null); } - public TcpClient(HostAndPort host, ClientRouteHandler clientRouteHandler) { + public TcpClient(HostAndPort host, @Nullable ClientRouteHandler clientRouteHandler) { super(host); - this.clientRouteHandler = MoreObjects.firstNonNull(clientRouteHandler, new ClientRouteHandler()); + this.clientRouteHandler = Objects.requireNonNullElse(clientRouteHandler, new ClientRouteHandler()); } @Override diff --git a/net/src/main/java/com/zfoo/net/core/tcp/TcpServer.java b/net/src/main/java/com/zfoo/net/core/tcp/TcpServer.java index 2990736d..adc1d2c1 100644 --- a/net/src/main/java/com/zfoo/net/core/tcp/TcpServer.java +++ b/net/src/main/java/com/zfoo/net/core/tcp/TcpServer.java @@ -20,7 +20,9 @@ import com.zfoo.net.handler.idle.ServerIdleHandler; import com.zfoo.util.net.HostAndPort; import io.netty.channel.socket.SocketChannel; import io.netty.handler.timeout.IdleStateHandler; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; +import org.springframework.lang.Nullable; + +import java.util.Objects; /** * @author godotg @@ -34,9 +36,9 @@ public class TcpServer extends AbstractServer { this(host, null); } - public TcpServer(HostAndPort host, ServerRouteHandler serverRouteHandler) { + public TcpServer(HostAndPort host, @Nullable ServerRouteHandler serverRouteHandler) { super(host); - this.routeHandler = MoreObjects.firstNonNull(serverRouteHandler, new ServerRouteHandler()); + this.routeHandler = Objects.requireNonNullElse(serverRouteHandler, new ServerRouteHandler()); } @Override diff --git a/net/src/main/java/com/zfoo/net/core/udp/UdpClient.java b/net/src/main/java/com/zfoo/net/core/udp/UdpClient.java index 7ac8353a..7a42f6c8 100644 --- a/net/src/main/java/com/zfoo/net/core/udp/UdpClient.java +++ b/net/src/main/java/com/zfoo/net/core/udp/UdpClient.java @@ -27,9 +27,9 @@ import io.netty.channel.ChannelOption; import io.netty.channel.epoll.Epoll; import io.netty.channel.epoll.EpollDatagramChannel; import io.netty.channel.socket.nio.NioDatagramChannel; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; +import org.springframework.lang.Nullable; -import java.util.function.Consumer; +import java.util.Objects; /** * @author godotg @@ -43,9 +43,9 @@ public class UdpClient extends AbstractClient { this(host, null); } - public UdpClient(HostAndPort host, ClientRouteHandler clientRouteHandler) { + public UdpClient(HostAndPort host, @Nullable ClientRouteHandler clientRouteHandler) { super(host); - this.clientRouteHandler = MoreObjects.firstNonNull(clientRouteHandler, new ClientRouteHandler()); + this.clientRouteHandler = Objects.requireNonNullElse(clientRouteHandler, new ClientRouteHandler()); } @Override diff --git a/net/src/main/java/com/zfoo/net/core/udp/UdpServer.java b/net/src/main/java/com/zfoo/net/core/udp/UdpServer.java index 539ee7b2..a5b19f6b 100644 --- a/net/src/main/java/com/zfoo/net/core/udp/UdpServer.java +++ b/net/src/main/java/com/zfoo/net/core/udp/UdpServer.java @@ -25,9 +25,11 @@ import io.netty.channel.epoll.EpollEventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioDatagramChannel; import io.netty.util.concurrent.DefaultThreadFactory; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.lang.Nullable; + +import java.util.Objects; /** * @author godotg @@ -43,9 +45,9 @@ public class UdpServer extends AbstractServer { this(host, null); } - public UdpServer(HostAndPort host, ServerRouteHandler serverRouteHandler) { + public UdpServer(HostAndPort host, @Nullable ServerRouteHandler serverRouteHandler) { super(host); - this.serverRouteHandler = MoreObjects.firstNonNull(serverRouteHandler, new ServerRouteHandler()); + this.serverRouteHandler = Objects.requireNonNullElse(serverRouteHandler, new ServerRouteHandler()); } @Override diff --git a/net/src/main/java/com/zfoo/net/core/websocket/WebsocketClient.java b/net/src/main/java/com/zfoo/net/core/websocket/WebsocketClient.java index e7d538d4..4c38ea90 100644 --- a/net/src/main/java/com/zfoo/net/core/websocket/WebsocketClient.java +++ b/net/src/main/java/com/zfoo/net/core/websocket/WebsocketClient.java @@ -24,7 +24,9 @@ import io.netty.handler.codec.http.HttpObjectAggregator; import io.netty.handler.codec.http.websocketx.WebSocketClientProtocolConfig; import io.netty.handler.codec.http.websocketx.WebSocketClientProtocolHandler; import io.netty.handler.stream.ChunkedWriteHandler; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; +import org.springframework.lang.Nullable; + +import java.util.Objects; /** @@ -41,11 +43,10 @@ public class WebsocketClient extends AbstractClient { this(host, webSocketClientProtocolConfig, null); } - public WebsocketClient(HostAndPort host, WebSocketClientProtocolConfig webSocketClientProtocolConfig, - ClientRouteHandler clientRouteHandler) { + public WebsocketClient(HostAndPort host, WebSocketClientProtocolConfig webSocketClientProtocolConfig, @Nullable ClientRouteHandler clientRouteHandler) { super(host); this.webSocketClientProtocolConfig = webSocketClientProtocolConfig; - this.clientRouteHandler = MoreObjects.firstNonNull(clientRouteHandler, new ClientRouteHandler()); + this.clientRouteHandler = Objects.requireNonNullElse(clientRouteHandler, new ClientRouteHandler()); } @Override diff --git a/net/src/main/java/com/zfoo/net/core/websocket/WebsocketServer.java b/net/src/main/java/com/zfoo/net/core/websocket/WebsocketServer.java index 956f487c..3d061d07 100644 --- a/net/src/main/java/com/zfoo/net/core/websocket/WebsocketServer.java +++ b/net/src/main/java/com/zfoo/net/core/websocket/WebsocketServer.java @@ -23,7 +23,9 @@ import io.netty.handler.codec.http.HttpObjectAggregator; import io.netty.handler.codec.http.HttpServerCodec; import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler; import io.netty.handler.stream.ChunkedWriteHandler; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; +import org.springframework.lang.Nullable; + +import java.util.Objects; /** * @author godotg @@ -37,9 +39,9 @@ public class WebsocketServer extends AbstractServer { this(host, null); } - public WebsocketServer(HostAndPort host, ServerRouteHandler serverRouteHandler) { + public WebsocketServer(HostAndPort host, @Nullable ServerRouteHandler serverRouteHandler) { super(host); - this.serverRouteHandler = MoreObjects.firstNonNull(serverRouteHandler, new ServerRouteHandler()); + this.serverRouteHandler = Objects.requireNonNullElse(serverRouteHandler, new ServerRouteHandler()); } diff --git a/net/src/main/java/com/zfoo/net/handler/BaseRouteHandler.java b/net/src/main/java/com/zfoo/net/handler/BaseRouteHandler.java index ae6b8103..622cd369 100644 --- a/net/src/main/java/com/zfoo/net/handler/BaseRouteHandler.java +++ b/net/src/main/java/com/zfoo/net/handler/BaseRouteHandler.java @@ -26,7 +26,6 @@ import io.netty.util.AttributeKey; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Objects; import java.util.function.Consumer; /** @@ -40,13 +39,9 @@ public abstract class BaseRouteHandler extends ChannelInboundHandlerAdapter { public static final AttributeKey SESSION_KEY = AttributeKey.valueOf("session"); - protected final Consumer sessionActiveConsumer; - protected final Consumer sessionInactiveConsumer; + public Consumer sessionActiveConsumer; + public Consumer sessionInactiveConsumer; - protected BaseRouteHandler(Consumer sessionActiveConsumer, Consumer sessionInactiveConsumer) { - this.sessionActiveConsumer = Objects.requireNonNull(sessionActiveConsumer); - this.sessionInactiveConsumer = Objects.requireNonNull(sessionInactiveConsumer); - } public static Session initChannel(Channel channel) { var sessionAttr = channel.attr(SESSION_KEY); @@ -60,18 +55,14 @@ public abstract class BaseRouteHandler extends ChannelInboundHandlerAdapter { } protected void onSessionActive(Session session) { - try { - this.sessionActiveConsumer.accept(session); - } catch (Throwable ignored) { - + if (sessionActiveConsumer != null) { + sessionActiveConsumer.accept(session); } } - protected void onSessionInavtive(Session session) { - try { - this.sessionInactiveConsumer.accept(session); - } catch (Throwable ignored) { - + protected void onSessionInactive(Session session) { + if (sessionInactiveConsumer != null) { + sessionInactiveConsumer.accept(session); } } diff --git a/net/src/main/java/com/zfoo/net/handler/ClientRouteHandler.java b/net/src/main/java/com/zfoo/net/handler/ClientRouteHandler.java index 04bf110c..e46225bb 100644 --- a/net/src/main/java/com/zfoo/net/handler/ClientRouteHandler.java +++ b/net/src/main/java/com/zfoo/net/handler/ClientRouteHandler.java @@ -17,16 +17,12 @@ import com.zfoo.event.manager.EventBus; import com.zfoo.net.NetContext; import com.zfoo.net.core.event.ClientSessionActiveEvent; import com.zfoo.net.core.event.ClientSessionInactiveEvent; -import com.zfoo.net.session.Session; import com.zfoo.net.util.SessionUtils; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.function.Consumer; - /** * @author godotg * @version 3.0 @@ -36,20 +32,13 @@ public class ClientRouteHandler extends BaseRouteHandler { private static final Logger logger = LoggerFactory.getLogger(ClientRouteHandler.class); - public ClientRouteHandler() { - this(null, null); - } - - public ClientRouteHandler(Consumer sessionActiveConsumer, Consumer sessionInactiveConsumer) { - super(MoreObjects.firstNonNull(sessionActiveConsumer, - (session) -> EventBus.submit(ClientSessionActiveEvent.valueOf(session))) - , MoreObjects.firstNonNull(sessionInactiveConsumer, - (session) -> EventBus.submit(ClientSessionInactiveEvent.valueOf(session)))); - } - @Override public void channelActive(ChannelHandlerContext ctx) throws Exception { super.channelActive(ctx); + // 客户端的session初始化在启动的时候已经做了,这边直接获取session + var session = SessionUtils.getSession(ctx); + onSessionActive(session); + EventBus.submit(ClientSessionActiveEvent.valueOf(session)); logger.info("client channel is active {}", SessionUtils.sessionInfo(ctx)); } @@ -64,7 +53,8 @@ public class ClientRouteHandler extends BaseRouteHandler { } NetContext.getSessionManager().removeClientSession(session); - onSessionInavtive(session); + onSessionInactive(session); + EventBus.submit(ClientSessionInactiveEvent.valueOf(session)); // 如果是消费者inactive,还需要触发客户端消费者检查事件,以便重新连接 if (session.getConsumerAttribute() != null) { diff --git a/net/src/main/java/com/zfoo/net/handler/GatewayRouteHandler.java b/net/src/main/java/com/zfoo/net/handler/GatewayRouteHandler.java index 8ab9b955..870cdd09 100644 --- a/net/src/main/java/com/zfoo/net/handler/GatewayRouteHandler.java +++ b/net/src/main/java/com/zfoo/net/handler/GatewayRouteHandler.java @@ -37,7 +37,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.function.BiFunction; -import java.util.function.Consumer; /** * @author godotg @@ -51,16 +50,10 @@ public class GatewayRouteHandler extends ServerRouteHandler { private final BiFunction packetFilter; public GatewayRouteHandler(BiFunction packetFilter) { - this(packetFilter, null, null); - } - - public GatewayRouteHandler(BiFunction packetFilter, - Consumer sessionActiveConsumer, - Consumer sessionInactiveConsumer) { - super(sessionActiveConsumer, sessionInactiveConsumer); this.packetFilter = packetFilter; } + @Override public void channelRead(ChannelHandlerContext ctx, Object msg) { // 请求者的session,一般是serverSession diff --git a/net/src/main/java/com/zfoo/net/handler/ServerRouteHandler.java b/net/src/main/java/com/zfoo/net/handler/ServerRouteHandler.java index cf4ff810..5cebb5e1 100644 --- a/net/src/main/java/com/zfoo/net/handler/ServerRouteHandler.java +++ b/net/src/main/java/com/zfoo/net/handler/ServerRouteHandler.java @@ -17,16 +17,12 @@ import com.zfoo.event.manager.EventBus; import com.zfoo.net.NetContext; import com.zfoo.net.core.event.ServerSessionActiveEvent; import com.zfoo.net.core.event.ServerSessionInactiveEvent; -import com.zfoo.net.session.Session; import com.zfoo.net.util.SessionUtils; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; -import org.apache.curator.shaded.com.google.common.base.MoreObjects; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.function.Consumer; - /** * @author godotg * @version 3.0 @@ -36,17 +32,6 @@ public class ServerRouteHandler extends BaseRouteHandler { private static final Logger logger = LoggerFactory.getLogger(ServerRouteHandler.class); - public ServerRouteHandler() { - this(null, null); - } - - public ServerRouteHandler(Consumer sessionActiveConsumer, Consumer sessionInactiveConsumer) { - super(MoreObjects.firstNonNull(sessionActiveConsumer, - (session) -> EventBus.submit(ServerSessionActiveEvent.valueOf(session))) - , MoreObjects.firstNonNull(sessionInactiveConsumer, - (session) -> EventBus.submit(ServerSessionInactiveEvent.valueOf(session)))); - } - @Override public void channelActive(ChannelHandlerContext ctx) throws Exception { super.channelActive(ctx); @@ -54,6 +39,7 @@ public class ServerRouteHandler extends BaseRouteHandler { NetContext.getSessionManager().addServerSession(session); logger.info("server channel is active {}", SessionUtils.sessionInfo(ctx)); onSessionActive(session); + EventBus.submit(ServerSessionActiveEvent.valueOf(session)); } @Override @@ -66,6 +52,7 @@ public class ServerRouteHandler extends BaseRouteHandler { } NetContext.getSessionManager().removeServerSession(session); logger.warn("server channel is inactive {}", SessionUtils.sessionSimpleInfo(ctx)); - onSessionInavtive(session); + onSessionInactive(session); + EventBus.submit(ServerSessionInactiveEvent.valueOf(session)); } }