示例#1
0
        public QotGetOrderBook.Response GetOrderBookSync(QotCommon.Security sec, int num)
        {
            ReqInfo reqInfo   = null;
            Object  syncEvent = new Object();

            lock (syncEvent)
            {
                lock (qotLock)
                {
                    if (qotConnStatus != ConnStatus.READY)
                    {
                        return(null);
                    }
                    QotGetOrderBook.C2S c2s = QotGetOrderBook.C2S.CreateBuilder()
                                              .SetSecurity(sec)
                                              .SetNum(num)
                                              .Build();
                    QotGetOrderBook.Request req = QotGetOrderBook.Request.CreateBuilder().SetC2S(c2s).Build();
                    uint sn = qot.GetOrderBook(req);
                    if (sn == 0)
                    {
                        return(null);
                    }
                    reqInfo = new ReqInfo(ProtoID.QotGetOrderBook, syncEvent);
                    qotReqInfoMap.Add(sn, reqInfo);
                }
                Monitor.Wait(syncEvent);
                return((QotGetOrderBook.Response)reqInfo.Rsp);
            }
        }