Пример #1
0
        public QotGetStaticInfo.Response GetStaticInfoSync(QotGetStaticInfo.C2S c2s)
        {
            ReqInfo reqInfo   = null;
            Object  syncEvent = new Object();

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