public static void listenToChannel(int id, string channelName, MessageReaderDelegate callback) { if (channelName == null || channelName.Length <= 1) { Logs.warningOnChannel("Communication", "Listening to invalid channel", channelName); } Channel channel = null; lock (channelsByName) { if (!channelsByName.ContainsKey(channelName)) { channelsByName[channelName] = new Channel(channelName); } channel = channelsByName[channelName]; } channel.add(id, callback); lock (channelsBySub) { if (!channelsBySub.ContainsKey(id)) { channelsBySub[id] = new List <Channel>(); } channelsBySub[id].Add(channel); } }
public void add(int id, MessageReaderDelegate callback) { lock (messengers) { if (!messengers.ContainsKey(id)) { messengers[id] = new List <MessageReaderDelegate>(); } messengers[id].Add(callback); history.subscribes += 1; } }