public EndpointDiscoveryMetadata ChooseTarget(FindCriteria criteria = null) { var choose = new ChooseContext(this, criteria); ChooseTarget(choose); return(choose.SelectedEndpoint); }
protected override void ChooseTarget(ChooseContext choose) { choose.ReadList(targets => { for (int i = 0; i < targets.Count; ++i) { var target = targets[i]; if (choose.Matches(target)) return target; } return null; }); }
protected override void ChooseTarget(ChooseContext choose) { choose.ReadList(targets => { for (int i = 0; i < targets.Count; ++i) { var target = targets[i]; if (choose.Matches(target)) { return(target); } } return(null); }); }
protected override void ChooseTarget(ChooseContext choose) { choose.ModifyList(targets => { var count = targets.Count; for (int index = 0; index < count; ++index) { var target = targets[index]; if (choose.Matches(target)) { if (count > 1) { targets.RemoveAt(index); targets.Add(target); } return target; } } return null; }); }
protected override void ChooseTarget(ChooseContext choose) { choose.ModifyList(targets => { var count = targets.Count; for (int index = 0; index < count; ++index) { var target = targets[index]; if (choose.Matches(target)) { if (count > 1) { targets.RemoveAt(index); targets.Add(target); } return(target); } } return(null); }); }
public EndpointDiscoveryMetadata ChooseTarget(FindCriteria criteria = null) { var choose = new ChooseContext(this, criteria); ChooseTarget(choose); return choose.SelectedEndpoint; }
protected abstract void ChooseTarget(ChooseContext choose);