Exemplo n.º 1
0
        private Task <AddOrGetContentHashListResponse> AddOrGetContentHashListAsync(AddOrGetContentHashListRequest request, ServerCallContext context)
        {
            return(PerformOperationAsync(
                       request,
                       async c =>
            {
                StrongFingerprint fingerprint = request.Fingerprint.FromGrpc();
                ContentHashListWithDeterminism contentHashListWithDeterminism = request.HashList.FromGrpc();
                var result = await c.Session.AddOrGetContentHashListAsync(c.Context, fingerprint, contentHashListWithDeterminism, c.Context.Token);

                return new AddOrGetContentHashListResponse()
                {
                    Header = result.Succeeded ?
                             ResponseHeader.Success(c.StartTime) :
                             ResponseHeader.Failure(c.StartTime, (int)result.Code, result.ErrorMessage, result.Diagnostics),
                    HashList = result.ContentHashListWithDeterminism.ToGrpc(),
                };
            },
                       context.CancellationToken));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Add or get content hash list for strong fingerprint
        /// </summary>
        public Task <AddOrGetContentHashListResult> AddOrGetContentHashListAsync(OperationContext context, StrongFingerprint strongFingerprint, ContentHashListWithDeterminism contentHashListWithDeterminism)
        {
            return(PerformOperationAsync(
                       context,
                       async sessionContext =>
            {
                var request = new AddOrGetContentHashListRequest
                {
                    Header = sessionContext.CreateHeader(),
                    Fingerprint = strongFingerprint.ToGrpc(),
                    HashList = contentHashListWithDeterminism.ToGrpc(),
                };

                AddOrGetContentHashListResponse response = await SendGrpcRequestAndThrowIfFailedAsync(
                    sessionContext,
                    async() => await Client.AddOrGetContentHashListAsync(request),
                    throwFailures: false);

                return response.FromGrpc();
            }));
        }
Exemplo n.º 3
0
 /// <inheritdoc />
 public override Task <AddOrGetContentHashListResponse> AddOrGetContentHashList(AddOrGetContentHashListRequest request, ServerCallContext context) => _server.AddOrGetContentHashListAsync(request, context);