public IDictionary <TKey, object> ExecuteOnEntries(IEntryProcessor entryProcessor) { var request = MapExecuteOnAllKeysCodec.EncodeRequest(Name, ToData(entryProcessor)); var response = Invoke(request); var resultParameters = MapExecuteOnAllKeysCodec.DecodeResponse(response); return(DeserializeEntries <TKey>(resultParameters.Response)); }
private async Task <IDictionary <TKey, TResult> > ExecuteAsync <TResult>(IEntryProcessor <TResult> processor, CancellationToken cancellationToken) { var processorData = ToSafeData(processor); var requestMessage = MapExecuteOnAllKeysCodec.EncodeRequest(Name, processorData); var responseMessage = await Cluster.Messaging.SendAsync(requestMessage, cancellationToken).CfAwait(); var response = MapExecuteOnAllKeysCodec.DecodeResponse(responseMessage).Response; var result = new Dictionary <TKey, TResult>(); foreach (var(keyData, valueData) in response) { result[ToObject <TKey>(keyData)] = ToObject <TResult>(valueData); } return(result); }