Beispiel #1
0
        private ValueTask HandleEventAsync(ClientMessage eventMessage, object state)
        {
            var sstate = ToSafeState <SubscriptionState <TopicEventHandlers <T> > >(state);

            async ValueTask HandleEventAsync(IData itemData, long publishTime, Guid memberId)
            {
                var member = Cluster.Members.GetMember(memberId);

                // that one is not lazy...
                var item = ToObject <T>(itemData);

                // ReSharper disable once ForeachCanBePartlyConvertedToQueryUsingAnotherGetEnumerator
                foreach (var handler in sstate.Handlers)
                {
                    // there is only one event type...
                    await handler.HandleAsync(this, member, publishTime, item).CAF();
                }
            }

            return(TopicAddMessageListenerCodec.HandleEventAsync(eventMessage, HandleEventAsync, LoggerFactory));
        }
 private ValueTask HandleEventAsync(ClientMessage eventMessage, object state)
 {
     return(TopicAddMessageListenerCodec.HandleEventAsync(eventMessage, HandleTopicEventAsync, state, LoggerFactory));
 }