code: def _check_with_socket(self, sock_info):
          
          start = _time()
          try:
              return (sock_info.ismaster(self._pool.opts.metadata,
                                         self._topology.max_cluster_time()),
                      _time() - start)
          except OperationFailure as exc:
              # Update max cluster time even when isMaster fails.
              self._topology.receive_cluster_time(
                  exc.details.get('$clusterTime'))
              raise
docs: Return (IsMaster, round_trip_time).
  
          Can raise ConnectionFailure or OperationFailure.