Package io.lettuce.core.cluster.topology
Class TopologyComparators
- java.lang.Object
-
- io.lettuce.core.cluster.topology.TopologyComparators
-
public class TopologyComparators extends Object
Comparators forRedisClusterNode
andRedisURI
.- Author:
- Mark Paluch, Alessandro Simi
-
-
Constructor Summary
Constructors Constructor Description TopologyComparators()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
isChanged(Partitions o1, Partitions o2)
Check if properties changed which are essential for cluster operations.static List<RedisClusterNode>
predefinedSort(Iterable<RedisClusterNode> clusterNodes, Iterable<RedisURI> fixedOrder)
Sort partitions by afixedOrder
and byRedisURI
.static List<RedisClusterNode>
sortByClientCount(Iterable<RedisClusterNode> clusterNodes)
Sort partitions by client count.static List<RedisClusterNode>
sortByLatency(Iterable<RedisClusterNode> clusterNodes)
Sort partitions by latency.static List<RedisClusterNode>
sortByUri(Iterable<RedisClusterNode> clusterNodes)
Sort partitions by RedisURI.
-
-
-
Method Detail
-
predefinedSort
public static List<RedisClusterNode> predefinedSort(Iterable<RedisClusterNode> clusterNodes, Iterable<RedisURI> fixedOrder)
Sort partitions by afixedOrder
and byRedisURI
. Nodes are sorted as provided infixedOrder
.RedisURIs
s not contained infixedOrder
are ordered after the fixed sorting and sorted wihin the block by comparingRedisURI
.- Parameters:
clusterNodes
- the sorting inputfixedOrder
- the fixed order part- Returns:
- List containing
RedisClusterNode
s ordered byfixedOrder
andRedisURI
- See Also:
sortByUri(Iterable)
-
sortByUri
public static List<RedisClusterNode> sortByUri(Iterable<RedisClusterNode> clusterNodes)
Sort partitions by RedisURI.- Parameters:
clusterNodes
-- Returns:
- List containing
RedisClusterNode
s ordered byRedisURI
-
sortByClientCount
public static List<RedisClusterNode> sortByClientCount(Iterable<RedisClusterNode> clusterNodes)
Sort partitions by client count.- Parameters:
clusterNodes
-- Returns:
- List containing
RedisClusterNode
s ordered by client count
-
sortByLatency
public static List<RedisClusterNode> sortByLatency(Iterable<RedisClusterNode> clusterNodes)
Sort partitions by latency.- Parameters:
clusterNodes
-- Returns:
- List containing
RedisClusterNode
s ordered by latency
-
isChanged
public static boolean isChanged(Partitions o1, Partitions o2)
Check if properties changed which are essential for cluster operations.- Parameters:
o1
- the first object to be compared.o2
- the second object to be compared.- Returns:
true
ifUPSTREAM
orREPLICA
flags changed or the responsible slots changed.
-
-