Example #1
0
        public static DecodeRspResult DecodeRsp(byte[] data, Func <string, int> getReqCmd)
        {
            var wrap1 = new ClientSendServerRspWrap1();

            wrap1.MergeFrom(data);
            var wrap2 = new ClientSendServerRspWrap2();

            wrap2.MergeFrom(wrap1.Body);

            object rsp = null;
            int    cmd = getReqCmd(wrap1.Seq);

            if (cmd > 0 && rspDic.ContainsKey(cmd) && wrap2.Body != null)
            {
                Func <ByteString, object> func = null;
                rspDic.TryGetValue(cmd, out func);

                if (func != null)
                {
                    rsp = func(wrap2.Body);
                }
            }

            var rspResult = new DecodeRspResult {
                RspWrap1 = new ClientSendServerRspWrap1(wrap1),
                RspWrap2 = new ClientSendServerRspWrap2(wrap2),
                Body     = rsp
            };

            return(rspResult);
        }
Example #2
0
        public static DecodeRspResult DecodeRsp(byte[] data)
        {
            var wrap1 = new ClientSendServerRspWrap1();

            wrap1.MergeFrom(data);
            var wrap2 = new ClientSendServerRspWrap2();

            wrap2.MergeFrom(wrap1.Body);
            var rsp       = wrap2.Body;
            var rspResult = new DecodeRspResult {
                RspWrap1 = new ClientSendServerRspWrap1(wrap1),
                RspWrap2 = new ClientSendServerRspWrap2(wrap2),
                Body     = rsp
            };

            return(rspResult);
        }