public ICollection <TResult> Project <TResult>(IProjection projection, IPredicate predicate) { IsNotNull(projection, "projection"); IsNotNull(predicate, "predicate"); var request = MapProjectWithPredicateCodec.EncodeRequest(Name, ToData(projection), ToData(predicate)); var response = Invoke(request); var resultParameters = MapProjectWithPredicateCodec.DecodeResponse(response); return(new ReadOnlyLazyList <TResult, IData>(resultParameters.Response, Client.SerializationService)); }
public ICollection <TResult> Project <TResult>(IProjection projection, IPredicate predicate) { ValidationUtil.IsNotNull(projection, "projection"); ValidationUtil.IsNotNull(predicate, "predicate"); var request = MapProjectWithPredicateCodec.EncodeRequest(GetName(), ToData(projection), ToData(predicate)); var response = Invoke(request); var resultParameters = MapProjectWithPredicateCodec.DecodeResponse(response); return(new ReadOnlyLazyList <TResult, IData>(resultParameters.response, GetContext().GetSerializationService())); }
private async Task <IReadOnlyCollection <TResult> > ProjectAsync <TResult>(IProjection projection, IPredicate predicate, CancellationToken cancellationToken) { var(projectionData, predicateData) = ToSafeData(projection, predicate); var requestMessage = MapProjectWithPredicateCodec.EncodeRequest(Name, projectionData, predicateData); var responseMessage = await Cluster.Messaging.SendAsync(requestMessage, cancellationToken).CfAwait(); var response = MapProjectWithPredicateCodec.DecodeResponse(responseMessage).Response; return(new ReadOnlyLazyList <TResult>(response, SerializationService)); }