|  | @@ -3703,26 +3703,24 @@ connection_dir_finished_connecting(dir_connection_t *conn)
 | 
	
		
			
				|  |  |  STATIC const smartlist_t *
 | 
	
		
			
				|  |  |  find_dl_schedule(download_status_t *dls, const or_options_t *options)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | -  const int dir_server = dir_server_mode(options);
 | 
	
		
			
				|  |  | -  const int multi_d = networkstatus_consensus_can_use_multiple_directories(
 | 
	
		
			
				|  |  | -                                                                    options);
 | 
	
		
			
				|  |  | -  const int we_are_bootstrapping = networkstatus_consensus_is_bootstrapping(
 | 
	
		
			
				|  |  | -                                                                 time(NULL));
 | 
	
		
			
				|  |  | -  const int use_fallbacks = networkstatus_consensus_can_use_extra_fallbacks(
 | 
	
		
			
				|  |  | -                                                                    options);
 | 
	
		
			
				|  |  |    switch (dls->schedule) {
 | 
	
		
			
				|  |  |      case DL_SCHED_GENERIC:
 | 
	
		
			
				|  |  | -      if (dir_server) {
 | 
	
		
			
				|  |  | +      /* Any other directory document */
 | 
	
		
			
				|  |  | +      if (dir_server_mode(options)) {
 | 
	
		
			
				|  |  | +        /* A directory authority or directory mirror */
 | 
	
		
			
				|  |  |          return options->TestingServerDownloadSchedule;
 | 
	
		
			
				|  |  |        } else {
 | 
	
		
			
				|  |  |          return options->TestingClientDownloadSchedule;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      case DL_SCHED_CONSENSUS:
 | 
	
		
			
				|  |  | -      if (!multi_d) {
 | 
	
		
			
				|  |  | +      if (!networkstatus_consensus_can_use_multiple_directories(options)) {
 | 
	
		
			
				|  |  | +        /* A public relay */
 | 
	
		
			
				|  |  |          return options->TestingServerConsensusDownloadSchedule;
 | 
	
		
			
				|  |  |        } else {
 | 
	
		
			
				|  |  | -        if (we_are_bootstrapping) {
 | 
	
		
			
				|  |  | -          if (!use_fallbacks) {
 | 
	
		
			
				|  |  | +        /* A client or bridge */
 | 
	
		
			
				|  |  | +        if (networkstatus_consensus_is_bootstrapping(time(NULL))) {
 | 
	
		
			
				|  |  | +          /* During bootstrapping */
 | 
	
		
			
				|  |  | +          if (!networkstatus_consensus_can_use_extra_fallbacks(options)) {
 | 
	
		
			
				|  |  |              /* A bootstrapping client without extra fallback directories */
 | 
	
		
			
				|  |  |              return
 | 
	
		
			
				|  |  |               options->ClientBootstrapConsensusAuthorityOnlyDownloadSchedule;
 | 
	
	
		
			
				|  | @@ -3738,6 +3736,8 @@ find_dl_schedule(download_status_t *dls, const or_options_t *options)
 | 
	
		
			
				|  |  |                options->ClientBootstrapConsensusFallbackDownloadSchedule;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  | +          /* A client with a reasonably live consensus, with or without
 | 
	
		
			
				|  |  | +           * certificates */
 | 
	
		
			
				|  |  |            return options->TestingClientConsensusDownloadSchedule;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 |