private bool OnReceived(object sender, PublishArrivedArgs ea) { Log.Info("Received Message"); Log.Info("Topic: " + ea.Topic); Log.Info("MqttAdaptor.OnReceived, topic={0}", ea.Topic); var topic = ea.Topic.Split('/'); var sid = topic[1]; var mode = MetaData.GetMode(topic[2]); var toQuery = mode == Mode.Return ? delegates : implements; IMessageConsumer msgConsumer; if (toQuery.TryGetValue(sid, out msgConsumer)) { var job = new DefferedJob() { Buffer = (byte[])ea.Payload.TrimmedBuffer.Clone(), Mode = mode, MessageConsumer = msgConsumer, }; lock (defferedJobs) { defferedJobs.Enqueue(job); } } return(true); }
private bool OnReceived(object sender, PublishArrivedArgs ea) { Log.Info("Received Message"); Log.Info("Topic: " + ea.Topic); Log.Info("MqttAdaptor.OnReceived, topic={0}", ea.Topic); var topic = ea.Topic.Split('/'); var sid = topic[1]; var mode = MetaData.GetMode(topic[2]); var toQuery = mode == Mode.Return ? delegates : implements; IMessageConsumer msgConsumer; if (toQuery.TryGetValue(sid, out msgConsumer)) { var job = new DefferedJob() { Buffer = (byte[])ea.Payload.TrimmedBuffer.Clone(), Mode = mode, MessageConsumer = msgConsumer, }; lock (defferedJobs) { defferedJobs.Enqueue(job); } } return true; }