Skip to main content

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}