Пример #1
0
 public void AddCanController(CanController controller)
 {
     lock (_canControllersMap)
     {
         _canControllersMap[controller._controllerId] = controller;
     }
 }
Пример #2
0
        public bool OnEvent(BaseEvent ev)
        {
            var           canMessageEvent = (CanMessageEvent)ev;
            CanController device          = null;

            lock (_canControllersMap)
            {
                if (_canControllersMap.Contains(canMessageEvent.ControllerIndex))
                {
                    device = (CanController)_canControllersMap[canMessageEvent.ControllerIndex];
                }
            }

            // Avoid calling this under a lock to prevent a potential lock inversion.
            if (device != null)
            {
                device.OnCanMessageReceivedInternal(canMessageEvent.Event);
            }

            return(true);
        }