コード例 #1
0
ファイル: GrpcDataConverter.cs プロジェクト: kittinap/kunnjae
        /// <nodoc />
        public static Result <LevelSelectors> FromGrpc(this GetSelectorsResponse input)
        {
            Contract.Assert(input.Header.Succeeded);
            var selectors = input.Selectors.Select(s => s.FromGrpc()).ToArray();

            return(Result.Success(new LevelSelectors(selectors, input.HasMore)));
        }
コード例 #2
0
        /// <summary>
        /// Get selectors for weak fingerprint
        /// </summary>
        public Task <Result <LevelSelectors> > GetLevelSelectorsAsync(OperationContext context, Fingerprint weakFingerprint, int level)
        {
            return(PerformOperationAsync(
                       context,
                       async sessionContext =>
            {
                var request = new GetSelectorsRequest()
                {
                    Header = new RequestHeader(context.TracingContext.TraceId, sessionContext.SessionId),
                    WeakFingerprint = FromGrpc(weakFingerprint),
                    Level = level,
                };

                GetSelectorsResponse response = await SendGrpcRequestAndThrowIfFailedAsync(
                    sessionContext,
                    async() => await Client.GetSelectorsAsync(request));

                return response.FromGrpc();
            }));
        }