Exemplo n.º 1
0
        void RequestHandler(object sender, RequestEventArgs e)
        {
            IHttpClientContext context = (IHttpClientContext)sender;
            IHttpRequest       request = e.Request;

            if (_requestQueue.ShouldQueue)
            {
                _requestQueue.Enqueue(context, request);
                return;
            }

            ProcessRequestWrapper(context, request);

            // no need to lock, if all threads are busy,
            // someone is bound to trigger the thread correctly =)
            _requestQueue.Trigger();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Received from a <see cref="IHttpClientContext"/> when a request have been parsed successfully.
        /// </summary>
        /// <param name="source"><see cref="IHttpClientContext"/> that received the request.</param>
        /// <param name="args">The request.</param>
        private void OnRequest(object source, RequestEventArgs args)
        {
            IHttpClientContext context = (IHttpClientContext)source;
            IHttpRequest       request = args.Request;

            if (_requestQueue.ShouldQueue)
            {
                _requestQueue.Enqueue(context, request);
                return;
            }

            ProcessRequestWrapper(context, request);

            // no need to lock, if all threads are busy,
            // someone is bound to trigger the thread correctly =)
            _requestQueue.Trigger();
        }