internal static void InitializeQueueWatcher() { if (QueueWatcherObject != null) { QueueWatcherObject.StopWatchingQueue(); QueueWatcherThread = null; QueueWatcherObject = null; } QueueWatcherObject = new QueueWatcher(requestQueue); QueueWatcherThread = new Thread(new ThreadStart(QueueWatcherObject.ThreadWatchQueue)); QueueWatcherThread.Start(); }
/// <summary> /// Enqueues a request for processing. /// </summary> /// <param name="request"></param> /// <returns>Unique handle to the request</returns> static public AsyncProcessingResult EnqueueRequest(HttpWebRequest request) { string reqId = Guid.NewGuid().ToString(); AsyncProcessingResult resultHandle = new AsyncProcessingResult(); resultHandle.Key = reqId; lock (requestQueue) { requestQueue.Enqueue(new QueuedRequest(reqId, request, resultHandle)); } QueueWatcherObject.CheckQueue(); return(resultHandle); }
static public void ReleaseResources() { QueueWatcherObject.ResumeWatching(); }
/// <summary> /// Restarts the queue watcher. Used for unit testing /// </summary> internal static void ResumeProcessing() { QueueWatcherObject.ResumeWatching(); }
/// <summary> /// Pauses the queue watcher. Used for unit testing. /// </summary> internal static void PauseProcessing() { QueueWatcherObject.PauseWatching(); }