Esempio n. 1
0
 protected void RestoreDataHandler(CDataHandlerBase pHandler)
 {
     lock (m_DBConnetionMutex)
     {
         m_vAvailableDataHandlers.Enqueue(pHandler);
     }
 }
Esempio n. 2
0
        public override ETaskExecResult ExecuteRequest(CDataRequest pRequest)
        {
            CDataHandlerBase pHandler = null;

            lock (m_DBConnetionMutex)
            {
                if (m_vAvailableDataHandlers.Count == 0)
                {
                    return(ETaskExecResult.eTaskExecResult_Pedding);
                }

                pHandler = m_vAvailableDataHandlers.Dequeue();
            }
            if (pHandler == null)
            {
                return(ETaskExecResult.eTaskExecResult_Pedding);
            }

            pRequest.DataHandler = pHandler;

            if (pRequest.Execute())
            {
                return(ETaskExecResult.eTaskExecResult_Ok);
            }
            else
            {
                return(ETaskExecResult.eTaskExecResult_Failed);
            }
        }
Esempio n. 3
0
        protected CDataHandlerBase GetActiveDataHandler()
        {
            CDataHandlerBase pHandler = null;

            while (pHandler == null)
            {
                lock (m_DBConnetionMutex)
                {
                    if (m_vAvailableDataHandlers.Count > 0)
                    {
                        pHandler = m_vAvailableDataHandlers.Dequeue();
                        break;
                    }
                    else
                    {
                        System.Threading.Thread.Sleep(1);
                    }
                }
            }
            return(pHandler);
        }