/// <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))); }
/// <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(); })); }