@@ -42,7 +42,7 @@ public SearchClient(SearchConfig config)
4242 DetailedResults = new List < ImageResult > ( ) ;
4343 ContinueTasks = new List < Task > ( ) ;
4444
45- DirectResultsWaitHandle = new ( ) ;
45+ ContinueTaskCompletionSource = new ( ) ;
4646
4747 Reload ( ) ;
4848
@@ -100,7 +100,7 @@ public SearchClient(SearchConfig config)
100100
101101 public List < Task > ContinueTasks { get ; }
102102
103- public TaskCompletionSource DirectResultsWaitHandle { get ; private set ; }
103+ public TaskCompletionSource ContinueTaskCompletionSource { get ; private set ; }
104104
105105
106106 /// <summary>
@@ -138,14 +138,14 @@ public void Reset()
138138 IsComplete = false ;
139139 IsContinueComplete = false ;
140140
141- DirectResultsWaitHandle = new ( ) ;
141+ ContinueTaskCompletionSource = new ( ) ;
142142 Reload ( ) ;
143143 }
144144
145145 /// <summary>
146146 /// Performs an image search asynchronously.
147147 /// </summary>
148- public async Task RunSearchAsync ( CancellationToken cts , CancellationTokenSource cts2 )
148+ public async Task RunSearchAsync ( CancellationTokenSource cts2 , CancellationToken cts )
149149 {
150150 if ( IsComplete ) {
151151 Reset ( ) ;
@@ -262,40 +262,20 @@ private void GetResultContinueCallback(Task<SearchResult> task, object state)
262262 if ( result . Any ( ) ) {
263263
264264 DirectResults . AddRange ( result ) ;
265-
266265 value . Scanned = true ;
267266
268267 if ( DirectResults . Count > 0 /*||
269268 !DirectResultsWaitHandle.SafeWaitHandle.IsClosed*/ /*|| ContinueTasks.Count==1*/ ) {
270269
271- if ( DirectResultsWaitHandle . TrySetResult ( ) ) {
272- Debug . WriteLine ( "wait handle set" ) ;
273-
274-
270+ if ( ContinueTaskCompletionSource . TrySetResult ( ) ) {
271+ Debug . WriteLine ( $ "{ nameof ( ContinueTaskCompletionSource ) } set") ;
275272 }
276-
277273 }
278274
279275 ContinueCompleted ? . Invoke ( null , EventArgs . Empty ) ;
280-
281- // if (result.Any()) { }
282-
283-
284276 }
285277 }
286278
287- public static List < ImageResult > ApplyPredicateFilter ( List < SearchResult > results , Predicate < SearchResult > predicate )
288- {
289- var query = results . Where ( r => predicate ( r ) )
290- . SelectMany ( r => r . AllResults )
291- . OrderByDescending ( r => r . Similarity )
292- . ThenByDescending ( r => r . PixelResolution )
293- . ThenByDescending ( r => r . DetailScore )
294- . ToList ( ) ;
295-
296- return query ;
297- }
298-
299279
300280 /// <summary>
301281 /// Fires when <see cref="GetResultContinueCallback"/> returns
@@ -313,9 +293,6 @@ public static List<ImageResult> ApplyPredicateFilter(List<SearchResult> results,
313293 public event EventHandler < SearchCompletedEventArgs > SearchCompleted ;
314294
315295
316- private static readonly SmartImageException SearchException = new ( "Search not complete" ) ;
317-
318-
319296 public void Dispose ( )
320297 {
321298 /*foreach (ImageResult result in DirectResults) {
0 commit comments