Esempio n. 1
0
 void FeedAgent(ClientIdent ident)
 {
     // send list of app defs belonging to the just connected agent
     {
         var appDefs = from ad in _allAppDefs.AppDefs.Values
                       where ad.Id.MachineId == ident.Name
                       select ad;
         var m = new Net.AppDefsMessage(appDefs, incremental: false);
         _server.SendToSingle(m, ident.Name);
     }
 }
Esempio n. 2
0
        void FeedSingleClient(ClientIdent ident)
        {
            if (ident.IsGui)
            {
                FeedGui(ident);
            }

            if (ident.IsAgent)
            {
                FeedAgent(ident);
            }
        }
Esempio n. 3
0
        void FeedGui(ClientIdent ident)
        {
            // send the full list of clients
            {
                foreach ((var id, var state) in _allClientStates.ClientStates)
                {
                    var m = new Net.ClientStateMessage(DateTime.UtcNow, state);
                    _server.SendToSingle(m, ident.Name);
                }
            }

            // send the full list of plans
            {
                var m = new Net.PlanDefsMessage(from p in _plans.Plans.Values select p.Def, incremental: false);
                _server.SendToSingle(m, ident.Name);
            }

            // send the full list of plan states
            {
                var m = new Net.PlansStateMessage(_plans.PlanStates);
                _server.SendToSingle(m, ident.Name);
            }

            // send the full list of app states
            {
                var m = new Net.AppsStateMessage(_allAppStates.AppStates, DateTime.UtcNow);
                _server.SendToSingle(m, ident.Name);
            }

            // send the full list of app defs
            {
                var m = new Net.AppDefsMessage(_allAppDefs.AppDefs.Values, incremental: false);
                _server.SendToSingle(m, ident.Name);
            }

            // send the full list of scripts
            {
                var m = new Net.ScriptDefsMessage(from p in _scripts.Scripts.Values select p.Def, incremental: false);
                _server.SendToSingle(m, ident.Name);
            }

            // send the full list of script states
            {
                var m = new Net.ScriptStateMessage(_scripts.ScriptStates);
                _server.SendToSingle(m, ident.Name);
            }
        }
Esempio n. 4
0
 // Called once when client connects and sends ClientIdent
 void OnClientIdentified(ClientIdent ident)
 {
     FeedSingleClient(ident);
 }