pub fn download_snapshot<'a, 'b>( rpc_addr: &SocketAddr, snapshot_output_dir: &Path, desired_snapshot_hash: (Slot, Hash), use_progress_bar: bool, maximum_snapshots_to_retain: usize, progress_notify_callback: &'a mut Option<Box<dyn FnMut(&DownloadProgressRecord) -> bool + 'b>>) -> Result<(), String>