Exemplo n.º 1
0
        private void TimerElapsed(object state)
        {
            //Trace.TraceInformation(DateTime.Now.ToLongTimeString() + ": SignalR Timer Elapsed ");
            stateCounter++;

            //Send vote total every 1/2 second
            Clients.All.sendState(storage.GetState());

            //Send command every 3 seconds
            if (stateCounter >= 6)
            {
                //Trace.TraceInformation("Sending to LEGO!");
                stateCounter = 0;
                if (storage.HasCommand())
                {
                    DriveCommand cmd = storage.GetMostPopularCommand();
                    Debug.WriteLine("Popular: " + cmd.ToString());
                    Clients.All.commandToRun(cmd);
                    storage.Reset();
                }
            }
        }