接口 RemotingCommand
抽象类 RpcCommand
抽象类 RequestCommand ResponseCommand
HeartbeatCommand,声明Id HeartbeatAckCommand
RpcRequestCommand, RpcResponseCommand
声明requestObject,
声明requestClass,
声明customSerializer
声明requestHeader
channel.attribute中放链接对象Connection;
InvokeContext 为调用上下文,实质为Map
RemotingContext 远程上下文,组合ChannelHandlerContext, InvokeContext,userProcessors
RemotingProcessor 远程处理器 process(RemotingContext var1, T var2, ExecutorService var3);
AbstractRemotingProcessor为抽象实现,引用executor,commandFactory
CommandFactory 为命令工厂,屏蔽RequestCommand和各种Response的复杂过程
RpcCommandFactory为基本实现,组装对象创建
AbstractRemotingProcessor中内部类ProcessTask,将process封装成异步的Task,然后执行器去执行;
RpcHeartBeatProcessor心跳处理器,处理HeartbeatCommand,并且writeAndFlush HeartbeatAckCommand,
主要是心跳和心跳响应;
RpcRequestProcessor rpc处理器
RpcResponseProcessor 取出连接,
InvokeFuture 调用结果封装Future,提供各种获取Response方法,异常,超时,ClassLoader,InvokeContext
实现类型为DefaultInvokeFuture
InvokeCallbackListener的 void onResponse(InvokeFuture var1)
RpcInvokeCallbackListener为默认实现类,
HeartbeatHandler 心跳处理器 userEventTriggered
IdleStateEvent