Exemple #1
0
        public async Task <IRecognitionResults> EnqueueAsync(IRecognitionJob recognitionJob)
        {
            var queueItem = new QueuedRecognitionJob(recognitionJob, _cancellationSource.Token);

            if (!await _jobQueue.SendAsync(queueItem))
            {
                throw new ApplicationException("Unable to enqueue job.");
            }

            return(await queueItem.GetAwaiter());
        }
Exemple #2
0
 public QueuedRecognitionJob(IRecognitionJob recognitionJob, CancellationToken token)
 {
     _recognitionJob   = recognitionJob ?? throw new ArgumentNullException(nameof(recognitionJob));
     _completionSource = new TaskCompletionSource <IRecognitionResults>();
     _token            = token;
 }