@ThreadSafe public interface ServerSelector
An interface for selecting a server from a cluster according to some preference.
Implementations of this interface should ensure that their equals and hashCode methods compare equal preferences as equal, as users of this interface may rely on that behavior to efficiently consolidate handling of multiple requests waiting on a server that can satisfy the preference.
List<ServerDescription> select(ClusterDescription clusterDescription)
clusterDescription- the cluster of servers to select from