public void ReadPeerStatus(ITransportPeer peer, HealthStatus status) { if (status == HealthStatus.Active) { ValidOwners.Add(peer); } else { InvalidOwners.Add(peer); } }
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)); } }
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)); } }
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); }