@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
//System.out.println("channelRead");
RpcCall call = (RpcCall)msg;
if(call == null) {
return;
}
LOG.debug("RpcServer read, call ID: " + call.getCallId() + ", local server:" + ctx.channel().localAddress().toString());
try {
Message response = service.callBlockingMethod(call.getMd(), null, call.getMessage());
if(response != null) {
ResponseHeader.Builder builder = ResponseHeader.newBuilder();
builder.setId(call.getCallId());
builder.setResponseName(call.getMd().getName());
ResponseHeader header = builder.build();
call.setHeader(header);
call.setMessage(response);
ctx.writeAndFlush(call);
callCounter.getAndIncrement();
}
} catch(ServiceException e) {
LOG.error("Rpc Server channelRead exception:" + e.getMessage(), e);
}
}
ServerChannelHandler.java 文件源码
java
阅读 25
收藏 0
点赞 0
评论 0
项目:CmRaft
作者:
评论列表
文章目录