コード例 #1
0
 public void Enqueue (PollServiceHttpRequest req)
 {
     lock (m_requests) {
         m_requests.Enqueue (req);
         lock (m_queueSync)
             Monitor.Pulse (m_queueSync);
     }
 }
コード例 #2
0
 internal void Enqueue(PollServiceHttpRequest pPollServiceHttpRequest)
 {
     m_request.Enqueue(pPollServiceHttpRequest);
 }
コード例 #3
0
 internal void ReQueueEvent(PollServiceHttpRequest req)
 {
     // Do accounting stuff here
     Enqueue(req);
 }
コード例 #4
0
        private void OnRequest(HttpListenerContext context)
        {
            try
            {
                PollServiceEventArgs psEvArgs;

                if (TryGetPollServiceHTTPHandler(context.Request.Url.AbsolutePath, out psEvArgs))
                {
                    if (context.Request.HttpMethod == "HEAD")
                        return;
                    PollServiceHttpRequest psreq = new PollServiceHttpRequest(psEvArgs, context);

                    if (psEvArgs.Request != null)
                    {
                        OSHttpRequest req = new OSHttpRequest(context);
                        psEvArgs.Request(psreq.RequestID, req);
                    }

                    m_PollServiceManager.Enqueue(psreq);
                }
                else
                {
                    HandleRequest(context);
                }
            }
            catch (Exception e)
            {
                MainConsole.Instance.ErrorFormat("[BASE HTTP SERVER]: OnRequest() failed: {0} ", e.ToString());
            }
        }