Beispiel #1
0
        public async Task <IReadOnlyList <TReply> > QueryGroup <TPrimaryNetContract, TReply>(Func <TPrimaryNetContract, Task <TReply> > funcToCall)
        {
            IReadOnlyList <ActorRemoteInfo> actors = await GetActors();

            ImmutableList <TReply> .Builder replies = ImmutableList <TReply> .Empty.ToBuilder();

            foreach (var remoteInfo in actors)
            {
                ActorProxy <TPrimaryNetContract> proxy = await _node.GetActor <TPrimaryNetContract>(remoteInfo.Key);

                TReply reply = await funcToCall(proxy.Channel);

                replies.Add(reply);
            }

            return((IReadOnlyList <TReply>)replies.ToImmutable());
        }