/// <summary> /// Получение проверки синхронизации ДМЧ от сервера /// </summary> /// <param name="hashOtherWeights">Хэш-значение другого абонента</param> public override async Task ReceiveHashWeightsAsync(string hashOtherWeights) { // проверка синхронизации перехватчика string hashWeightsInretceptor = MachineInterceptor.GetHashWeights(); if (hashWeightsInretceptor.Equals(HashWeights) || hashWeightsInretceptor.Equals(hashOtherWeights)) { SuccessInterceptor?.Invoke(this, EventArgs.Empty); return; } await base.ReceiveHashWeightsAsync(hashOtherWeights); }
/// <summary> /// Получение тау (результата ДМЧ) авбонента от сервера /// </summary> /// <param name="inputTau">тау (результата ДМЧ) авбонента</param> public virtual async Task ReceiveTauAsync(int inputTau) { Debug.WriteLine("Get Tau"); if (Machine.Tau.Equals(inputTau)) { await Task.Run(() => Machine.UpdateWeighs(inputTau)); } HashWeights = Machine.GetHashWeights(); ClosedTokenSource.CancelAfter(TimeSpan.FromSeconds(5)); // Отправка хэш весов на сервер try { await HubProtocolConnection.InvokeAsync("SendHashWeights", NameRecipient, HashWeights).ConfigureAwait(false); } catch (Exception ex) { Debug.WriteLine(ex); throw ex; } }