Пример #1
0
        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));
        }
Пример #2
0
        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);
        }