Exemple #1
0
        public void Deactivate()
        {
            WorkingThread.Enqueue("Cluster Deactivate", () =>
            {
                Logger.Trace <Cluster>("Deactivate");
                if (_State.LocalNode.State == NodeState.NoActive)
                {
                    Logger.Info <Cluster>(String.Format(Resources.AlreadyDeactivate, _State.LocalNode.StateBegin));
                    return;
                }

                if (_State.RemoteNode.State == NodeState.NoValid)
                {
                    throw new InvalidOperationException(Resources.DeactivateValidRemoteNodeError);
                }

                if ((NumValidAdapters(_State.RemoteNode.ValidAdaptersMask) < NumValidAdapters(_State.LocalNode.ValidAdaptersMask)))
                {
                    throw new InvalidOperationException(Resources.DeactivateNumAdaptersError);
                }

                if (_State.LocalNode.State == NodeState.Active)
                {
                    DeleteVirtualAddresses(false);
                }

                _State.LocalNode.SetState(NodeState.NoActive, Resources.LocalDeactivateAsk);
            });
        }
Exemple #2
0
 public void Run()
 {
     WorkingThread.Enqueue("Cluster Run", () =>
     {
         _ToStart.Enabled = true;
     });
 }
Exemple #3
0
 public void Activate()
 {
     WorkingThread.Enqueue("Cluster Activate", () =>
     {
         Logger.Trace <Cluster>("Activate");
         InternalActivate();
     });
     // Todo Sincronizar con Activacion Efectiva
 }
Exemple #4
0
        public void Dispose()
        {
            WorkingThread.Enqueue("Cluster Dispose", () =>
            {
                Logger.Trace <Cluster>("Public Dispose");

                _State.LocalNode.SetState(NodeState.NoActive, Resources.LocalDeactivateAsk);
                _State.LocalNode.SetState(NodeState.NoValid, Resources.ExitApplication);

                Dispose(true);
            });
            WorkingThread.ControlledStop();
        }
Exemple #5
0
 public void Add(HistoryItems item, string user = "", string dep = "", string state = "", string map = "", string cause = "")
 {
     WorkingThread.Enqueue("", () =>
     {
         AddItem(new HistoryItem()
         {
             Date  = DateTime.Now,
             Code  = item,
             User  = user,
             Dep   = dep,
             State = state,
             Map   = map,
             Cause = cause
         });
         Logger.Info <History>($"HIST {item}, user: {user}, dep: {dep}, state:{state}, map: {map}, cause: {cause}");
     });
 }