예제 #1
0
        void _Update()
        {
            AutoPowerRegulator regulator = new AutoPowerRegulator(new PowerRegulator());

            while (_Enable)
            {
                _Updater();
                regulator.Operate();
            }
        }
예제 #2
0
        void _Update(CancellationToken token)
        {
            AutoPowerRegulator regulator = new AutoPowerRegulator(new PowerRegulator());

            while (!token.IsCancellationRequested)
            {
                _Updater();
                regulator.Operate();
            }
        }
예제 #3
0
        internal void Run(object obj)
        {
            var are = (AutoResetEvent)obj;

            var powerRegulator     = new PowerRegulator(10);
            var autoPowerRegulator = new AutoPowerRegulator(powerRegulator);

            while (_HasValue == false)
            {
                autoPowerRegulator.Operate();
            }

            are.Set();
        }
예제 #4
0
        public ThreadCoreHandler(IEntry core)
        {
            if (core == null)
            {
                throw new ArgumentNullException(nameof(core));
            }

            _Core = core;

            _RequesterHandlers = new Updater();
            _Spin = new PowerRegulator();
            _AutoPowerRegulator = new AutoPowerRegulator(_Spin);
            _Binders            = new Queue <ISoulBinder>();
        }
예제 #5
0
        private void Run()
        {
            AutoPowerRegulator wait = new AutoPowerRegulator(new PowerRegulator(30));

            Updater <Timestamp> updater = new Updater <Timestamp>();

            updater.Add(m_Agent);
            while (m_Enable)
            {
                m_Time.Sample();
                updater.Working(new Timestamp(m_Time.Now, m_Time.Delta));
                wait.Operate();
            }
            updater.Shutdown();
        }
예제 #6
0
        public ThreadSocketHandler(int port, ThreadCoreHandler core_handler, IProtocol protocol, IListenable server)
        {
            _CoreHandler = core_handler;
            _Protocol    = protocol;
            _Port        = port;

            _Sockets = new Queue <IPeer>();

            _Peers = new PeerSet();

            _Spin = new PowerRegulator();
            _AutoPowerRegulator = new AutoPowerRegulator(_Spin);

            _Server = server;
        }
예제 #7
0
        private void Run(object State)
        {
            var updater = new Updater <Timestamp>();

            updater.Add(m_Host);

            var wait = new AutoPowerRegulator(new PowerRegulator());

            while (m_Enable)
            {
                m_Time.Sample();
                updater.Working(new Timestamp(m_Time.Now, m_Time.Delta));
                wait.Operate();
            }

            updater.Shutdown();
        }