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)); }