public ChannelSubscription On(string anyEvent, Action <Message> callback) { var subscription = new ChannelSubscription { Event = anyEvent, Callback = callback }; if (!_bindings.TryGetValue(anyEvent, out var subscriptions)) { subscriptions = new List <ChannelSubscription>(); _bindings[anyEvent] = subscriptions; } subscriptions.Add(subscription); return(subscription); }
public bool Off(ChannelSubscription subscription) { return(_bindings.TryGetValue(subscription.Event, out var subscriptions) && subscriptions.Remove(subscription)); }