/// <summary> /// Takes a <see cref="Message"/> and converts it into a byte buffer. /// </summary> /// <param name="ctx"></param> /// <param name="e"></param> public void HandleDownstream(IChannelHandlerContext ctx, IChannelEvent e) { if (e is MessageEvent) { var evt = e.As<MessageEvent>(); if (evt.Message is Message) evt.Message = EncodeMessage(evt.Message.As<Message>()); else if (evt.Message is Command) evt.Message = EncodeCommand(evt.Message.As<Command>()); } ctx.SendDownstream(e); }