mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-08-21 08:27:11 +00:00
perf[net]: use Objects requireNonNullElse method
This commit is contained in:
@@ -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<SocketChannel> {
|
||||
this(host, packetFilter, null);
|
||||
}
|
||||
|
||||
public GatewayServer(HostAndPort host,
|
||||
@Nullable BiFunction<Session, IPacket, Boolean> packetFilter,
|
||||
GatewayRouteHandler gatewayRouteHandler) {
|
||||
public GatewayServer(HostAndPort host, @Nullable BiFunction<Session, IPacket, Boolean> packetFilter, @Nullable GatewayRouteHandler gatewayRouteHandler) {
|
||||
super(host);
|
||||
this.gatewayRouteHandler = MoreObjects.firstNonNull(gatewayRouteHandler, new GatewayRouteHandler(packetFilter));
|
||||
this.gatewayRouteHandler = Objects.requireNonNullElse(gatewayRouteHandler, new GatewayRouteHandler(packetFilter));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -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<SocketChannel> {
|
||||
this(host, packetFilter, null);
|
||||
}
|
||||
|
||||
public WebsocketGatewayServer(HostAndPort host,
|
||||
@Nullable BiFunction<Session, IPacket, Boolean> packetFilter,
|
||||
GatewayRouteHandler gatewayRouteHandler) {
|
||||
public WebsocketGatewayServer(HostAndPort host, @Nullable BiFunction<Session, IPacket, Boolean> packetFilter, @Nullable GatewayRouteHandler gatewayRouteHandler) {
|
||||
super(host);
|
||||
this.gatewayRouteHandler = MoreObjects.firstNonNull(gatewayRouteHandler, new GatewayRouteHandler(packetFilter));
|
||||
this.gatewayRouteHandler = Objects.requireNonNullElse(gatewayRouteHandler, new GatewayRouteHandler(packetFilter));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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<SocketChannel> {
|
||||
|
||||
private final GatewayRouteHandler gatewayRouteHandler;
|
||||
|
||||
public WebsocketSslGatewayServer(HostAndPort host,
|
||||
InputStream pem,
|
||||
InputStream key,
|
||||
BiFunction<Session, IPacket, Boolean> packetFilter) {
|
||||
public WebsocketSslGatewayServer(HostAndPort host, InputStream pem, InputStream key, @Nullable BiFunction<Session, IPacket, Boolean> packetFilter) {
|
||||
this(host, pem, key, packetFilter, null);
|
||||
}
|
||||
|
||||
public WebsocketSslGatewayServer(HostAndPort host,
|
||||
InputStream pem,
|
||||
InputStream key,
|
||||
BiFunction<Session, IPacket, Boolean> packetFilter,
|
||||
GatewayRouteHandler gatewayRouteHandler) {
|
||||
public WebsocketSslGatewayServer(HostAndPort host, InputStream pem, InputStream key, @Nullable BiFunction<Session, IPacket, Boolean> 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
|
||||
|
||||
@@ -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<SocketChannel> {
|
||||
}
|
||||
|
||||
|
||||
public HttpServer(HostAndPort host,
|
||||
Function<FullHttpRequest, DecodedPacketInfo> uriResolver,
|
||||
ServerRouteHandler serverRouteHandler) {
|
||||
public HttpServer(HostAndPort host, Function<FullHttpRequest, DecodedPacketInfo> uriResolver, @Nullable ServerRouteHandler serverRouteHandler) {
|
||||
super(host);
|
||||
this.uriResolver = uriResolver;
|
||||
this.serverRouteHandler = MoreObjects.firstNonNull(serverRouteHandler, new ServerRouteHandler());
|
||||
this.serverRouteHandler = Objects.requireNonNullElse(serverRouteHandler, new ServerRouteHandler());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -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<SocketChannel> {
|
||||
}
|
||||
|
||||
|
||||
public JProtobufGatewayServer(HostAndPort host,
|
||||
@Nullable BiFunction<Session, IPacket, Boolean> packetFilter,
|
||||
GatewayRouteHandler gatewayRouteHandler) {
|
||||
public JProtobufGatewayServer(HostAndPort host, @Nullable BiFunction<Session, IPacket, Boolean> packetFilter, @Nullable GatewayRouteHandler gatewayRouteHandler) {
|
||||
super(host);
|
||||
this.gatewayRouteHandler = MoreObjects.firstNonNull(gatewayRouteHandler, new GatewayRouteHandler(packetFilter));
|
||||
this.gatewayRouteHandler = Objects.requireNonNullElse(gatewayRouteHandler, new GatewayRouteHandler(packetFilter));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -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<SocketChannel> {
|
||||
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
|
||||
|
||||
@@ -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<SocketChannel> {
|
||||
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
|
||||
|
||||
@@ -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<SocketChannel> {
|
||||
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());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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<SocketChannel> {
|
||||
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
|
||||
|
||||
@@ -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<SocketChannel> {
|
||||
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
|
||||
|
||||
@@ -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<SocketChannel> {
|
||||
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
|
||||
|
||||
@@ -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<Channel> {
|
||||
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
|
||||
|
||||
@@ -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<Channel> {
|
||||
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
|
||||
|
||||
@@ -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<SocketChannel> {
|
||||
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
|
||||
|
||||
@@ -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<SocketChannel> {
|
||||
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());
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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> SESSION_KEY = AttributeKey.valueOf("session");
|
||||
|
||||
protected final Consumer<Session> sessionActiveConsumer;
|
||||
protected final Consumer<Session> sessionInactiveConsumer;
|
||||
public Consumer<Session> sessionActiveConsumer;
|
||||
public Consumer<Session> sessionInactiveConsumer;
|
||||
|
||||
protected BaseRouteHandler(Consumer<Session> sessionActiveConsumer, Consumer<Session> 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Session> sessionActiveConsumer, Consumer<Session> 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) {
|
||||
|
||||
@@ -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<Session, IPacket, Boolean> packetFilter;
|
||||
|
||||
public GatewayRouteHandler(BiFunction<Session, IPacket, Boolean> packetFilter) {
|
||||
this(packetFilter, null, null);
|
||||
}
|
||||
|
||||
public GatewayRouteHandler(BiFunction<Session, IPacket, Boolean> packetFilter,
|
||||
Consumer<Session> sessionActiveConsumer,
|
||||
Consumer<Session> sessionInactiveConsumer) {
|
||||
super(sessionActiveConsumer, sessionInactiveConsumer);
|
||||
this.packetFilter = packetFilter;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void channelRead(ChannelHandlerContext ctx, Object msg) {
|
||||
// 请求者的session,一般是serverSession
|
||||
|
||||
@@ -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<Session> sessionActiveConsumer, Consumer<Session> 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));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user