Пример #1
0
 public void ReadPeerStatus(ITransportPeer peer, HealthStatus status)
 {
     if (status == HealthStatus.Active)
     {
         ValidOwners.Add(peer);
     }
     else
     {
         InvalidOwners.Add(peer);
     }
 }
Пример #2
0
 public void ReadPeerStatus(ITransportPeer peer, HealthStatus status)
 {
     if (status == HealthStatus.Active)
     {
         ValidOwners.Add(peer);
     }
     else
     {
         InvalidOwners.Add(peer);
     }
 }
        public void Add(ITransportPeer peer, TaskHealthResponse response)
        {
            var subjects = response.AllSubjects().ToArray();

            if (response.ResponseFailed)
            {
                _unavailablePeers.Add(peer);

                _removals[peer].AddRange(subjects);
            }
            else
            {
                _availablePeers.Add(peer);

                response.Tasks.Each(x => _status[x.Subject].ReadPeerStatus(peer, x.Status));
            }
        }
Пример #4
0
        public void Add(ITransportPeer peer, TaskHealthResponse response)
        {
            var subjects = response.AllSubjects().ToArray();

            if (response.ResponseFailed)
            {
                Debug.WriteLine("Failed to detect available peer: " + peer.NodeId);
                _removals[peer].AddRange(subjects);
            }
            else
            {
                Debug.WriteLine("Detected an available peer: " + peer.NodeId);
                _availablePeers.Add(peer);

                response.Tasks.Each(x => _status[x.Subject].ReadPeerStatus(peer, x.Status));
            }
        }
        public void Add(ITransportPeer peer, TaskHealthResponse response)
        {
            var subjects = response.AllSubjects().ToArray();

            if (response.ResponseFailed)
            {
                Debug.WriteLine("Failed to detect available peer: " + peer.NodeId);
                _removals[peer].AddRange(subjects);
            }
            else
            {
                Debug.WriteLine("Detected an available peer: " + peer.NodeId);
                _availablePeers.Add(peer);

                response.Tasks.Each(x => _status[x.Subject].ReadPeerStatus(peer, x.Status));
            }
        }
Пример #6
0
        public void Add(ITransportPeer peer, TaskHealthResponse response)
        {
            var subjects = response.AllSubjects().ToArray();

            if (response.ResponseFailed)
            {
                _unavailablePeers.Add(peer);


                _removals[peer].AddRange(subjects);
            }
            else
            {
                _availablePeers.Add(peer);

                response.Tasks.Each(x => _status[x.Subject].ReadPeerStatus(peer, x.Status));
            }
        }
 public Task<ITransportPeer> AssignOwner(IEnumerable<ITransportPeer> peers)
 {
     SelectedPeer = peers.FirstOrDefault(x => x.NodeId == PeerIdToSelect);
     return SelectedPeer.TakeOwnership(Subject).ContinueWith(t => SelectedPeer);
 }