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); }
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); }