using DotNetty.Transport.Channels; using JSMachine.WMS.Netty.Common.Util; using JSMachine.WMS.Netty.NettyAsClient.Command; using Prism.Events; using System.ComponentModel.Composition; using System.Threading.Tasks; namespace JSMachine.WMS.Netty.NettyAsClient.CommandHandler { /// /// Netty 客户端命令处理器基类,提供通道上下文及收发端地址信息。 /// [InheritedExport("NettyAsClient")] public abstract class BaseCmdhandler { /// /// 当前命令所属的 Netty 通道上下文。 /// public IChannelHandlerContext Channel { get; set; } /// /// 远端地址信息。 /// public IPInfo RemoteIPInfo => Channel.ToIPInfo(AddressOnwer.Remote); /// /// 本地地址信息。 /// public IPInfo LocalIPInfo=> Channel.ToIPInfo(AddressOnwer.Local); /// /// 处理一条客户端命令。 /// /// 待处理的命令。 /// 处理成功返回 。 public abstract Task Handle(BaseCmd msg); } }