コード例 #1
0
        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;
        }
コード例 #2
0
        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);
        }