From 47be79785eba85e5e71130347f2be5aaf1a778c7 Mon Sep 17 00:00:00 2001 From: jaysunxiao Date: Mon, 6 Sep 2021 15:20:15 +0800 Subject: [PATCH] =?UTF-8?q?perf[net]:=20=E5=BC=82=E6=AD=A5=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E5=A2=9E=E5=8A=A0=E6=B2=A1=E6=9C=89=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E7=9A=84=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dispatcher/manager/PacketDispatcher.java | 3 +++ .../zfoo/net/core/tcp/client/TcpClientTest.java | 17 ++++++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/net/src/main/java/com/zfoo/net/dispatcher/manager/PacketDispatcher.java b/net/src/main/java/com/zfoo/net/dispatcher/manager/PacketDispatcher.java index 84f4c84c..ce82b3d1 100644 --- a/net/src/main/java/com/zfoo/net/dispatcher/manager/PacketDispatcher.java +++ b/net/src/main/java/com/zfoo/net/dispatcher/manager/PacketDispatcher.java @@ -34,6 +34,7 @@ import com.zfoo.net.session.model.Session; import com.zfoo.net.task.TaskManager; import com.zfoo.net.task.model.ReceiveTask; import com.zfoo.protocol.IPacket; +import com.zfoo.protocol.exception.ExceptionUtils; import com.zfoo.protocol.util.JsonUtils; import com.zfoo.protocol.util.StringUtils; import com.zfoo.util.math.HashUtils; @@ -247,6 +248,8 @@ public class PacketDispatcher implements IPacketDispatcher { var notCompleteCallback = asyncAnswer.getNotCompleteCallback(); if (notCompleteCallback != null) { notCompleteCallback.run(); + } else { + logger.error(ExceptionUtils.getMessage(throwable)); } return; } diff --git a/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientTest.java b/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientTest.java index 74b4ef6b..ffe1678c 100644 --- a/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientTest.java +++ b/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientTest.java @@ -17,6 +17,7 @@ import com.zfoo.net.NetContext; import com.zfoo.net.core.tcp.TcpClient; import com.zfoo.net.packet.tcp.*; import com.zfoo.net.session.SessionUtils; +import com.zfoo.net.task.model.SafeRunnable; import com.zfoo.protocol.exception.ExceptionUtils; import com.zfoo.protocol.util.JsonUtils; import com.zfoo.util.ThreadUtils; @@ -105,11 +106,17 @@ public class TcpClientTest { var ask = new AsyncMess0Ask(); ask.setMessage("Hello, client0 -> server0!"); - var answer = NetContext.getDispatcher().asyncAsk(session1, ask, AsyncMess0Answer.class, null); - answer.whenComplete(sm -> { - logger.info("异步请求[{}]收到结果[{}]", atomicInteger.incrementAndGet(), JsonUtils.object2String(answer)); - } - ); + NetContext.getDispatcher().asyncAsk(null, ask, AsyncMess0Answer.class, null) + .notComplete(new SafeRunnable() { + @Override + public void doRun() { + logger.info("异步请求没有完成"); + } + }) + .whenComplete(answer -> { + logger.info("异步请求[{}]收到结果[{}]", atomicInteger.incrementAndGet(), JsonUtils.object2String(answer)); + } + ); } }); executor.execute(thread);