Files
jsowell-charger-web/jsowell-netty/src/main/java/com/jsowell/netty/rpc/RpcResponseHandler.java

25 lines
780 B
Java
Raw Normal View History

2024-08-01 10:54:13 +08:00
package com.jsowell.netty.rpc;
2024-07-31 16:48:29 +08:00
2024-08-01 16:24:52 +08:00
import com.jsowell.pile.rpc.RpcUtil;
2024-08-01 15:13:14 +08:00
import com.jsowell.pile.rpc.SyncPromise;
2024-07-31 16:48:29 +08:00
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
public class RpcResponseHandler extends SimpleChannelInboundHandler<RpcResponse> {
@Override
protected void channelRead0(ChannelHandlerContext ctx, RpcResponse msg) throws Exception {
// 根据请求id在集合中找到与外部线程通信的SyncPromise对象
SyncPromise syncPromise = RpcUtil.getSyncPromiseMap().get(msg.getId());
if(syncPromise != null) {
// 设置响应结果
2024-08-01 15:38:33 +08:00
// syncPromise.setRpcResponse(msg);
2024-07-31 16:48:29 +08:00
// 唤醒外部线程
syncPromise.wake();
}
}
}