Skip to content

Commit

Permalink
Add optional cancellationtoken to QueryAsync.
Browse files Browse the repository at this point in the history
  • Loading branch information
gjunge committed Oct 29, 2018
1 parent b5df395 commit 8b95fc4
Show file tree
Hide file tree
Showing 9 changed files with 67 additions and 58 deletions.
15 changes: 8 additions & 7 deletions SolrNet.Cloud.Tests/FakeOperations.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using SolrNet.Mapping.Validation;
using SolrNet.Schema;
using System.Runtime.CompilerServices;
using System.Threading;

namespace SolrNet.Cloud.Tests
{
Expand Down Expand Up @@ -383,13 +384,13 @@ public Task<ExtractResponse> SendAndParseExtractAsync(ISolrCommand cmd)
return Task.FromResult<ExtractResponse>(null);
}

public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, QueryOptions options)
public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, QueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
{
SetLastOperation();
return Task.FromResult<SolrQueryResults<T>>(null);
}

public Task<SolrMoreLikeThisHandlerResults<T>> MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
public Task<SolrMoreLikeThisHandlerResults<T>> MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
{
SetLastOperation();
return Task.FromResult<SolrMoreLikeThisHandlerResults<T>>(null);
Expand Down Expand Up @@ -586,31 +587,31 @@ public Task<IEnumerable<ValidationResult>> EnumerateValidationResultsAsync(strin
return Task.FromResult<IEnumerable<ValidationResult>>(null);
}

public Task<SolrQueryResults<T>> QueryAsync(string q)
public Task<SolrQueryResults<T>> QueryAsync(string q, CancellationToken cancellationToken = default(CancellationToken))
{
SetLastOperation();
return Task.FromResult<SolrQueryResults<T>>(null);
}

public Task<SolrQueryResults<T>> QueryAsync(string q, ICollection<SortOrder> orders)
public Task<SolrQueryResults<T>> QueryAsync(string q, ICollection<SortOrder> orders, CancellationToken cancellationToken = default(CancellationToken))
{
SetLastOperation();
return Task.FromResult<SolrQueryResults<T>>(null);
}

public Task<SolrQueryResults<T>> QueryAsync(string q, QueryOptions options)
public Task<SolrQueryResults<T>> QueryAsync(string q, QueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
{
SetLastOperation();
return Task.FromResult<SolrQueryResults<T>>(null);
}

public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery q)
public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery q, CancellationToken cancellationToken = default(CancellationToken))
{
SetLastOperation();
return Task.FromResult<SolrQueryResults<T>>(null);
}

public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, ICollection<SortOrder> orders)
public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, ICollection<SortOrder> orders, CancellationToken cancellationToken = default(CancellationToken))
{
SetLastOperation();
return Task.FromResult<SolrQueryResults<T>> (null);
Expand Down
9 changes: 5 additions & 4 deletions SolrNet.Cloud/SolrCloudBasicOperations.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using SolrNet.Commands.Parameters;
using SolrNet.Impl;
Expand Down Expand Up @@ -127,11 +128,11 @@ public Task<ResponseHeader> SendAndParseHeaderAsync(ISolrCommand cmd)
public Task<ExtractResponse> SendAndParseExtractAsync(ISolrCommand cmd)
=> PerformBasicOperation(operations => operations.SendAndParseExtractAsync(cmd));

public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, QueryOptions options)
=> PerformBasicOperation(operations => operations.QueryAsync(query,options));
public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, QueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
=> PerformBasicOperation(operations => operations.QueryAsync(query,options,cancellationToken));

public Task<SolrMoreLikeThisHandlerResults<T>> MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
=> PerformBasicOperation(operations => operations.MoreLikeThisAsync(query,options));
public Task<SolrMoreLikeThisHandlerResults<T>> MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
=> PerformBasicOperation(operations => operations.MoreLikeThisAsync(query,options, cancellationToken));

public Task<ResponseHeader> PingAsync()
=> PerformBasicOperation(operations => operations.PingAsync());
Expand Down
29 changes: 15 additions & 14 deletions SolrNet.Cloud/SolrCloudOperations.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using SolrNet.Commands.Parameters;
using SolrNet.Impl;
Expand Down Expand Up @@ -323,28 +324,28 @@ public Task<ResponseHeader> BuildSpellCheckDictionaryAsync()
public Task<IEnumerable<ValidationResult>> EnumerateValidationResultsAsync()
=> PerformOperation(operations => operations.EnumerateValidationResultsAsync());

public Task<SolrQueryResults<T>> QueryAsync(string q)
=> PerformOperation(operations => operations.QueryAsync(q));
public Task<SolrQueryResults<T>> QueryAsync(string q, CancellationToken cancellationToken = default(CancellationToken))
=> PerformOperation(operations => operations.QueryAsync(q, cancellationToken));

public Task<SolrQueryResults<T>> QueryAsync(string q, ICollection<SortOrder> orders)
=> PerformOperation(operations => operations.QueryAsync(q, orders));
public Task<SolrQueryResults<T>> QueryAsync(string q, ICollection<SortOrder> orders, CancellationToken cancellationToken = default(CancellationToken))
=> PerformOperation(operations => operations.QueryAsync(q, orders, cancellationToken));

public Task<SolrQueryResults<T>> QueryAsync(string q, QueryOptions options)
=> PerformOperation(operations => operations.QueryAsync(q, options));
public Task<SolrQueryResults<T>> QueryAsync(string q, QueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
=> PerformOperation(operations => operations.QueryAsync(q, options, cancellationToken));

public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery q)
=> PerformOperation(operations => operations.QueryAsync(q));
public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery q, CancellationToken cancellationToken = default(CancellationToken))
=> PerformOperation(operations => operations.QueryAsync(q, cancellationToken));

public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, ICollection<SortOrder> orders)
=> PerformOperation(operations => operations.QueryAsync(query, orders));
public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, ICollection<SortOrder> orders, CancellationToken cancellationToken = default(CancellationToken))
=> PerformOperation(operations => operations.QueryAsync(query, orders, cancellationToken));

public Task<ICollection<KeyValuePair<string, int>>> FacetFieldQueryAsync(SolrFacetFieldQuery facets)
=> PerformOperation(operations => operations.FacetFieldQueryAsync(facets));

public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, QueryOptions options)
=> PerformOperation(operations => operations.QueryAsync(query, options));
public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, QueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
=> PerformOperation(operations => operations.QueryAsync(query, options, cancellationToken));

public Task<SolrMoreLikeThisHandlerResults<T>> MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
public Task<SolrMoreLikeThisHandlerResults<T>> MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
=> PerformOperation(operations => operations.MoreLikeThisAsync(query, options));

public Task<ResponseHeader> PingAsync()
Expand Down Expand Up @@ -376,4 +377,4 @@ public IEnumerable<ValidationResult> EnumerateValidationResults(string schemaFil
public Task<IEnumerable<ValidationResult>> EnumerateValidationResultsAsync(string schemaFileName)
=> PerformOperation(operations => operations.EnumerateValidationResultsAsync(schemaFileName));
}
}
}
7 changes: 4 additions & 3 deletions SolrNet.Tests.Common/Mocks/MSolrBasicOperations.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Moroco;
using SolrNet.Commands.Parameters;
Expand Down Expand Up @@ -136,12 +137,12 @@ public Task<ExtractResponse> SendAndParseExtractAsync(ISolrCommand cmd)
throw new NotImplementedException();
}

public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, QueryOptions options)
public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, QueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
{
throw new NotImplementedException();
}

public Task<SolrMoreLikeThisHandlerResults<T>> MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
public Task<SolrMoreLikeThisHandlerResults<T>> MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
{
throw new NotImplementedException();
}
Expand All @@ -161,4 +162,4 @@ public Task<SolrDIHStatus> GetDIHStatusAsync(KeyValuePair<string, string> option
throw new NotImplementedException();
}
}
}
}
17 changes: 9 additions & 8 deletions SolrNet.Tests.Common/Mocks/MSolrOperations.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Moroco;
using SolrNet.Commands.Parameters;
Expand Down Expand Up @@ -345,27 +346,27 @@ public Task<IEnumerable<ValidationResult>> EnumerateValidationResultsAsync()
throw new NotImplementedException();
}

public Task<SolrQueryResults<T>> QueryAsync(string q)
public Task<SolrQueryResults<T>> QueryAsync(string q, CancellationToken cancellationToken = default(CancellationToken))
{
throw new NotImplementedException();
}

public Task<SolrQueryResults<T>> QueryAsync(string q, ICollection<SortOrder> orders)
public Task<SolrQueryResults<T>> QueryAsync(string q, ICollection<SortOrder> orders, CancellationToken cancellationToken = default(CancellationToken))
{
throw new NotImplementedException();
}

public Task<SolrQueryResults<T>> QueryAsync(string q, QueryOptions options)
public Task<SolrQueryResults<T>> QueryAsync(string q, QueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
{
throw new NotImplementedException();
}

public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery q)
public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery q, CancellationToken cancellationToken = default(CancellationToken))
{
throw new NotImplementedException();
}

public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, ICollection<SortOrder> orders)
public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, ICollection<SortOrder> orders, CancellationToken cancellationToken = default(CancellationToken))
{
throw new NotImplementedException();
}
Expand All @@ -375,12 +376,12 @@ public Task<ICollection<KeyValuePair<string, int>>> FacetFieldQueryAsync(SolrFac
throw new NotImplementedException();
}

public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, QueryOptions options)
public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, QueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
{
throw new NotImplementedException();
}

public Task<SolrMoreLikeThisHandlerResults<T>> MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
public Task<SolrMoreLikeThisHandlerResults<T>> MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
{
throw new NotImplementedException();
}
Expand Down Expand Up @@ -410,4 +411,4 @@ public Task<IEnumerable<ValidationResult>> EnumerateValidationResultsAsync(strin
throw new NotImplementedException();
}
}
}
}
7 changes: 4 additions & 3 deletions SolrNet/ISolrBasicReadOnlyOperations.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
using SolrNet.Impl;
using SolrNet.Schema;
using System.Threading.Tasks;
using System.Threading;

namespace SolrNet
{
Expand All @@ -42,7 +43,7 @@ public interface ISolrBasicReadOnlyOperations<T>
/// <param name="query"></param>
/// <param name="options"></param>
/// <returns></returns>
Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, QueryOptions options);
Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, QueryOptions options, CancellationToken cancellationToken = default(CancellationToken));

/// <summary>
/// Executes a MoreLikeThisHandler query
Expand All @@ -58,7 +59,7 @@ public interface ISolrBasicReadOnlyOperations<T>
/// <param name="query"></param>
/// <param name="options"></param>
/// <returns></returns>
Task<SolrMoreLikeThisHandlerResults<T>> MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options);
Task<SolrMoreLikeThisHandlerResults<T>> MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken));

/// <summary>
/// Pings the Solr server.
Expand Down Expand Up @@ -101,4 +102,4 @@ public interface ISolrBasicReadOnlyOperations<T>
/// <returns>DIH status</returns>
Task<SolrDIHStatus> GetDIHStatusAsync(KeyValuePair<string, string> options);
}
}
}
13 changes: 7 additions & 6 deletions SolrNet/ISolrReadOnlyOperations.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
using SolrNet.Commands.Parameters;
using SolrNet.Impl;
using System.Threading.Tasks;
using System.Threading;

namespace SolrNet
{
Expand Down Expand Up @@ -77,38 +78,38 @@ public interface ISolrReadOnlyOperations<T> : ISolrBasicReadOnlyOperations<T>
/// </summary>
/// <param name="q">query to execute</param>
/// <returns>query results</returns>
Task<SolrQueryResults<T>> QueryAsync(string q);
Task<SolrQueryResults<T>> QueryAsync(string q, CancellationToken cancellationToken = default(CancellationToken));

/// <summary>
/// Executes a query
/// </summary>
/// <param name="q"></param>
/// <param name="orders"></param>
/// <returns></returns>
Task<SolrQueryResults<T>> QueryAsync(string q, ICollection<SortOrder> orders);
Task<SolrQueryResults<T>> QueryAsync(string q, ICollection<SortOrder> orders, CancellationToken cancellationToken = default(CancellationToken));

/// <summary>
/// Executes a query
/// </summary>
/// <param name="q"></param>
/// <param name="options"></param>
/// <returns></returns>
Task<SolrQueryResults<T>> QueryAsync(string q, QueryOptions options);
Task<SolrQueryResults<T>> QueryAsync(string q, QueryOptions options, CancellationToken cancellationToken = default(CancellationToken));

/// <summary>
/// Executes a query
/// </summary>
/// <param name="q"></param>
/// <returns></returns>
Task<SolrQueryResults<T>> QueryAsync(ISolrQuery q);
Task<SolrQueryResults<T>> QueryAsync(ISolrQuery q, CancellationToken cancellationToken = default(CancellationToken));

/// <summary>
/// Executes a query
/// </summary>
/// <param name="query"></param>
/// <param name="orders"></param>
/// <returns></returns>
Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, ICollection<SortOrder> orders);
Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, ICollection<SortOrder> orders, CancellationToken cancellationToken = default(CancellationToken));

/// <summary>
/// Executes a single facet field query
Expand All @@ -118,4 +119,4 @@ public interface ISolrReadOnlyOperations<T> : ISolrBasicReadOnlyOperations<T>
Task<ICollection<KeyValuePair<string, int>>> FacetFieldQueryAsync(SolrFacetFieldQuery facets);

}
}
}
11 changes: 6 additions & 5 deletions SolrNet/Impl/SolrBasicServer.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#region license
#region license
// Copyright (c) 2007-2010 Mauricio Scheffer
//
// Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -16,6 +16,7 @@

using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using System.Xml.Linq;
using SolrNet.Commands;
Expand Down Expand Up @@ -163,14 +164,14 @@ public SolrMoreLikeThisHandlerResults<T> MoreLikeThis(SolrMLTQuery query, MoreLi
return this.queryExecuter.Execute(query, options);
}

public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, QueryOptions options)
public Task<SolrQueryResults<T>> QueryAsync(ISolrQuery query, QueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
{
return this.queryExecuter.ExecuteAsync(query, options);
return this.queryExecuter.ExecuteAsync(query, options, cancellationToken);
}

public Task<SolrMoreLikeThisHandlerResults<T>> MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
public Task<SolrMoreLikeThisHandlerResults<T>> MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
{
return this.queryExecuter.ExecuteAsync(query, options);
return this.queryExecuter.ExecuteAsync(query, options, cancellationToken);
}

public Task<ResponseHeader> PingAsync()
Expand Down
Loading

0 comments on commit 8b95fc4

Please sign in to comment.