public ChannelTemplate(IDataSource dataSource) { this.dataSource = dataSource; timer.Elapsed += (sender, e) => { foreach (KeyValuePair <string, IChannel> pair in newChannels) { IRecordMessage message = pair.Value.CreateGenericMessage(pair.Key); message.SetField(OPERATION_FIELD, "Hello"); message.SetField(DESCRIPTION_FIELD, "Please send a contrib with the field `operation` set to the value `Ping` to this channel"); message.Image = true; pair.Value.SendMessage(message); newChannels.Remove(pair.Key); } }; timer.Enabled = true; }
public void MessageReceived(IChannel channel, IRecordMessage recordMessage) { newChannels.Remove(channel.Subject); //Take channel out of newChannels map so that we don't send the Hello IRecordMessage message = channel.CreateGenericMessage(channel.Subject); if (recordMessage[OPERATION_FIELD].Equals("Ping")) { message.SetField(OPERATION_FIELD, "Pong"); message.SetField(DESCRIPTION_FIELD, "Pong"); } else { message.SetField(OPERATION_FIELD, "Error"); message.SetField(DESCRIPTION_FIELD, "Please send a contrib with the field `operation` set to the value `Ping` to this channel"); } channel.SendMessage(message); }