Exemplo n.º 1
0
        public TrdGetOrderFillList.Response GetOrderFillListSync(ulong accID, TrdCommon.TrdMarket trdMarket, TrdCommon.TrdEnv trdEnv,
                                                                 bool isRefreshCache,
                                                                 TrdCommon.TrdFilterConditions filterConditions)
        {
            ReqInfo reqInfo   = null;
            Object  syncEvent = new Object();

            lock (syncEvent)
            {
                lock (trdLock)
                {
                    if (trdConnStatus != ConnStatus.READY)
                    {
                        return(null);
                    }
                    TrdCommon.TrdHeader             trdHeader = MakeTrdHeader(trdEnv, accID, trdMarket);
                    TrdGetOrderFillList.C2S.Builder c2s       = TrdGetOrderFillList.C2S.CreateBuilder()
                                                                .SetHeader(trdHeader)
                                                                .SetRefreshCache(isRefreshCache);
                    if (filterConditions != null)
                    {
                        c2s.SetFilterConditions(filterConditions);
                    }
                    TrdGetOrderFillList.Request req = TrdGetOrderFillList.Request.CreateBuilder().SetC2S(c2s).Build();
                    uint sn = trd.GetOrderFillList(req);
                    if (sn == 0)
                    {
                        return(null);
                    }
                    reqInfo = new ReqInfo(ProtoID.TrdGetOrderFillList, syncEvent);
                    trdReqInfoMap.Add(sn, reqInfo);
                }
                Monitor.Wait(syncEvent);
                return((TrdGetOrderFillList.Response)reqInfo.Rsp);
            }
        }
Exemplo n.º 2
0
 /***
  * 获取当日成交列表,具体字段请参考Trd_GetOrderFillList.proto协议
  * @param req
  * @return 请求的序列号
  */
 public uint GetOrderFillList(TrdGetOrderFillList.Request req)
 {
     return(SendProto((uint)ProtoID.TrdGetOrderFillList, req));
 }