in impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingAbstract.java [243:261]
private void processResponseCommand(ChannelHandlerContext ctx, RemotingCommand response) {
final ResponseFuture responseFuture = ackTables.remove(response.requestID());
if (responseFuture != null) {
responseFuture.setResponseCommand(response);
responseFuture.release();
this.interceptorGroup.afterResponseReceived(new ResponseContext(RemotingEndPoint.REQUEST,
RemotingUtil.extractRemoteAddress(ctx.channel()), responseFuture.getRequestCommand(), response));
if (responseFuture.getAsyncHandler() != null) {
executeAsyncHandler(responseFuture);
} else {
responseFuture.putResponse(response);
responseFuture.release();
}
} else {
LOG.warn("Response {} from {} doesn't have a matched request!", response, RemotingUtil.extractRemoteAddress(ctx.channel()));
}
}