コード例 #1
0
        public TemperatureSensor(IAppBus appBus, string name)
        {
            _name   = name;
            _appBus = appBus;

            _appBus.Subscribe <DisableSensor>(this);
            _appBus.Subscribe <EnableSensor>(this);

            MakeSensorTick();
            StartSensor();
        }
コード例 #2
0
        private static QueuedHandler CreateMonitor(IAppBus bus, List <IStartable> startables, string monitorName)
        {
            var queueHandler = new QueuedHandler(
                new TimeToLiveHandler(
                    new AlertMonitor(
                        new NarrowingHandler <Message, TemperatureChanged> (new Monitor()), new HighTemperatureThreshold(120), bus)
                    ), monitorName);

            startables.Add(queueHandler);
            return(queueHandler);
        }
コード例 #3
0
 public AlarmClock(IAppBus bus)
 {
     _bus     = bus;
     _alarms  = new ConcurrentQueue <SendMessageLater>();
     _stopped = new AutoResetEvent(false);
 }
コード例 #4
0
 public AlertMonitor(IHandleMessage <Message> handler, IThreshold threshold, IAppBus bus)
 {
     _bus       = bus;
     _threshold = threshold;
     _handler   = handler;
 }
コード例 #5
0
 public ImportantMan(IAppBus bus)
 {
     _bus = bus;
 }