public TrdSubAccPush.Response subTrdAccPushSync(List <ulong> accList) { ReqInfo reqInfo = null; Object syncEvent = new Object(); lock (syncEvent) { lock (trdLock) { if (trdConnStatus != ConnStatus.READY) { return(null); } TrdSubAccPush.C2S c2s = TrdSubAccPush.C2S.CreateBuilder().AddRangeAccIDList(accList).Build(); TrdSubAccPush.Request req = TrdSubAccPush.Request.CreateBuilder().SetC2S(c2s).Build(); uint sn = trd.SubAccPush(req); if (sn == 0) { return(null); } reqInfo = new ReqInfo(ProtoID.TrdSubAccPush, syncEvent); trdReqInfoMap.Add(sn, reqInfo); } Monitor.Wait(syncEvent); return((TrdSubAccPush.Response)reqInfo.Rsp); } }
/*** * 订阅接收推送数据的交易账户,具体字段请参考Trd_SubAccPush.proto协议 * @param req * @return 请求的序列号 */ public uint SubAccPush(TrdSubAccPush.Request req) { return(SendProto((uint)ProtoID.TrdSubAccPush, req)); }