Ejemplo n.º 1
0
        private async Task <bool> VerifyDataAsync(
            [NotNull] QualityVerificationGrpc.QualityVerificationGrpcClient rpcClient,
            [NotNull] CancellationTokenSource cancellationSource,
            [CanBeNull] SchemaMsg schemaMsg = null)
        {
            using (var call = rpcClient.VerifyDataQuality())
            {
                var initialRequest =
                    new DataVerificationRequest
                {
                    Request = VerificationRequest,
                    Schema  = schemaMsg
                };

                await call.RequestStream.WriteAsync(initialRequest);

                while (await call.ResponseStream.MoveNext(cancellationSource.Token))
                {
                    var responseMsg = call.ResponseStream.Current;

                    if (responseMsg.SchemaRequest != null || responseMsg.DataRequest != null)
                    {
                        await ProvideDataToServer(responseMsg, call.RequestStream,
                                                  cancellationSource);
                    }
                    else
                    {
                        HandleProgressMsg(responseMsg.Response);
                    }
                }
            }

            return(true);
        }
Ejemplo n.º 2
0
 public async Task <ServiceCallStatus> ExecuteAndProcessMessagesAsync(
     [NotNull] QualityVerificationGrpc.QualityVerificationGrpcClient rpcClient,
     bool provideDataFromClient = false,
     SchemaMsg schemaMsg        = null)
 {
     return(provideDataFromClient
                                ? await TryExecuteAsync(c => VerifyDataAsync(rpcClient, c, schemaMsg))
                                : await TryExecuteAsync(c => VerifyAsync(rpcClient, c)));
 }