コード例 #1
0
        void tracker_DetectorsReceived(object sender, SonitorEventArgs e)
        {
            var msg = (DetectorsMessage)e.Message;

            DataReceived(this, new DataEventArgs(msg));

            foreach (var det in msg.Detectors)
            {
                bool updated = false;
                Detectors.AddOrUpdate(det.HostName, det, (k, v) =>
                {
                    Detectors[det.HostName] = det;
                    DetectorStateChanged(this, new DetectorEventArgs(Detectors[det.HostName]));
                    updated = true;
                    return(det);
                }
                                      );
                if (!updated)
                {
                    DetectorAdded(this, new DetectorEventArgs(Detectors[det.HostName]));
                }
            }
        }