public int Subscribe <TMessage> (Action <TMessage> client, string channelID = "") { MessageChannel <TMessage> channel = GetMessageChannel <TMessage> (channelID); int ticket = channel.Subscribe(client); return(ticket); }
public MessageChannel <TMessage> GetGenericChannel(string channelID) { MessageChannel <TMessage> channel; if (!Channels.TryGetValue(channelID, out channel)) { Channels.Add(channelID, channel = new MessageChannel <TMessage>()); } return(channel); }
public void Invoke <TMessage> (TMessage message, string channelID = "") { MessageChannel <TMessage> channel = GetMessageChannel <TMessage> (channelID); channel.Invoke(message); }
public void Unsubscribe <TMessage> (Action <TMessage> client, string channelID = "") { MessageChannel <TMessage> channel = GetMessageChannel <TMessage> (channelID); channel.LazyUnsubscribe(client); }
public void Unsubscribe <TMessage> (int ticket, string channelID = "") { MessageChannel <TMessage> channel = GetMessageChannel <TMessage> (channelID); channel.Unsubscribe(ticket); }