Add export from nsi-common service
This commit is contained in:
@ -13,7 +13,7 @@ namespace Hcs.ClientApi.RemoteCaller
|
||||
/// <summary>
|
||||
/// Базовый класс для методов HCS вызываемых удаленно
|
||||
/// </summary>
|
||||
public abstract class HcsRemoteCallMethod
|
||||
public abstract class HcsRemoteCallMethod<T> where T : IHcsGetStateResult
|
||||
{
|
||||
public HcsClientConfig _config;
|
||||
protected CustomBinding _binding;
|
||||
@ -144,7 +144,7 @@ namespace Hcs.ClientApi.RemoteCaller
|
||||
/// Выполнение одной попытки пооучить результат операции.
|
||||
/// Реализуется в производных классах.
|
||||
/// </summary>
|
||||
protected abstract Task<IHcsGetStateResult> TryGetResultAsync(IHcsAck sourceAck, CancellationToken token);
|
||||
protected abstract Task<T> TryGetResultAsync(IHcsAck sourceAck, CancellationToken token);
|
||||
|
||||
/// <summary>
|
||||
/// Основной алгоритм ожидания ответа на асинхронный запрос.
|
||||
@ -156,11 +156,11 @@ namespace Hcs.ClientApi.RemoteCaller
|
||||
/// - в случае, если на третий запрос getSate получен результат с RequestState равным "1" или "2", то следующий запрос getState необходимо направлять не ранее чем через 900 секунд после отправки предыдущего запроса;
|
||||
/// - в случае, если на четвертый(и все последующие запросы) getState получен результат с RequestState равным "1" или "2", то следующий запрос getState необходимо направлять не ранее чем через 1800 секунд после отправки предыдущего запроса.
|
||||
/// </summary>
|
||||
protected async Task<IHcsGetStateResult> WaitForResultAsync(
|
||||
protected async Task<T> WaitForResultAsync(
|
||||
IHcsAck ack, bool withInitialDelay, CancellationToken token)
|
||||
{
|
||||
var startTime = DateTime.Now;
|
||||
IHcsGetStateResult result;
|
||||
T result;
|
||||
for (int attempts = 1; ; attempts++)
|
||||
{
|
||||
token.ThrowIfCancellationRequested();
|
||||
@ -190,7 +190,7 @@ namespace Hcs.ClientApi.RemoteCaller
|
||||
if (result != null) break;
|
||||
}
|
||||
|
||||
_config.Log($"Ответ получен, число частей: {result.Items.Count()}");
|
||||
_config.Log($"Ответ получен");
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user