Unused import.
Call ismaster very frequently while server selection fails.
Rename Cluster._cluster_description to just Cluster._description.
Docstring for Cluster.select_servers.
Cluster code cleanup.
server_descriptions should always be a dict, not a list of ServerDescriptions.
Use namedtuples for CLUSTER_TYPE and SERVER_TYPE.
ClusterDescription.min/max_wire_version are unneeded and meaningless.
ClusterDescription.server_descriptions should be a method returning a copy of a dict.
Clarifications of updated_cluster_description.
_get_server_type is module-private.
heartbeatFrequencyMS need not be configurable in PyMongo.
Alphabetize imports.
Remove a TODO from Monitor.
Socket leak in Server.
Provide a stringification of Server, not a repr.
Use %d instead of %s in test_cluster.
Better name for _update_rs_from_primary().
Extra test for _update_rs_with_primary_from_member.
Duplicate code in test_cluster.