public override void ChannelRead(IChannelHandlerContext context, object message) { switch (message) { case Debug msg: _listener.OnDebug(msg.Text); break; case LoginAccepted msg: _listener.OnLoginAccept(msg.Session, msg.SequenceNumber); break; case LoginRejected msg: _listener.OnLoginReject(msg.RejectReasonCode); break; case SequencedData msg: // TODO: Create OUCH object instance // TODO: Invoke OnMessage with OUCHMessage instance _listener.OnMessage(msg.Message); break; } }