public static List <string> GetSortedChildren(IZooKeeper client, string basePath, string lockName, ILockInternalsSorter sorter) { var children = client.GetChildren(basePath, false); return(GetSortedChildren(lockName, sorter, children)); }
public static IEnumerable <string> GetParticipantNodes(IZooKeeper client, string basePath, string lockName, ILockInternalsSorter sorter) { var names = GetSortedChildren(client, basePath, lockName, sorter); var transformed = names.Select(x => ZKPaths.MakePath(basePath, x)); return(transformed); }
public async Task <List <string> > GetSortedChildren(string lockName, ILockInternalsSorter sorter) { var children = await _zkClient.getChildrenAsync(_basePath); children.Children.Sort((x, y) => { return(sorter.FixForSorting(x, lockName) .CompareTo(sorter.FixForSorting(y, lockName))); }); return(children.Children); }
public static List <String> GetSortedChildren(string lockName, ILockInternalsSorter sorter, IEnumerable <string> children) { return(new List <string>(children.OrderBy(x => sorter.FixForSorting(x, lockName)))); }