rdap_batch/lib.rs
1//! Batch RDAP query execution with concurrency control.
2
3#![forbid(unsafe_code)]
4
5use rdapify_client::RdapClient;
6use rdap_types::{error::Result, AvailabilityResult};
7
8/// Executes batch RDAP queries with configurable concurrency.
9pub struct BatchExecutor {
10 client: RdapClient,
11}
12
13impl BatchExecutor {
14 pub fn new(client: RdapClient) -> Self {
15 Self { client }
16 }
17
18 /// Checks availability for multiple domains concurrently.
19 ///
20 /// Runs up to `concurrency` queries in parallel (default: 10).
21 pub async fn domain_available_batch(
22 &self,
23 names: Vec<String>,
24 concurrency: Option<usize>,
25 ) -> Vec<Result<AvailabilityResult>> {
26 self.client.domain_available_batch(names, concurrency).await
27 }
28}