use anyhow::Error; use pbs_api_types::{Authid, BackupNamespace, BackupType}; use pbs_client::{BackupWriter, HttpClient, HttpClientOptions}; async fn upload_speed() -> Result { let host = "localhost"; let datastore = "store2"; let auth_id = Authid::root_auth_id(); let options = HttpClientOptions::default() .interactive(true) .ticket_cache(true); let client = HttpClient::new(host, 8007, auth_id, options)?; let backup_time = proxmox_time::epoch_i64(); let client = BackupWriter::start( client, None, datastore, &BackupNamespace::root(), &(BackupType::Host, "speedtest".to_string(), backup_time).into(), false, true, ) .await?; println!("start upload speed test"); let res = client.upload_speedtest(true).await?; Ok(res) } fn main() { match proxmox_async::runtime::main(upload_speed()) { Ok(mbs) => { println!("average upload speed: {} MB/s", mbs); } Err(err) => { eprintln!("ERROR: {}", err); } } }