pub struct DiscoverEngine { /* private fields */ }Implementations§
Source§impl DiscoverEngine
impl DiscoverEngine
pub fn new(concurrency: usize) -> Self
pub fn new_with_timeouts( concurrency: usize, ping_timeout_ms: u64, dns_timeout_ms: u64, ) -> Self
pub async fn scan_subnet( &self, subnet: Ipv4Net, resolve: bool, ) -> Result<Vec<Host>>
Sourcepub async fn scan_subnet_with_progress(
&self,
subnet: Ipv4Net,
resolve: bool,
progress: Option<Arc<dyn Fn(DiscoverProgress) + Send + Sync>>,
) -> Result<Vec<Host>>
pub async fn scan_subnet_with_progress( &self, subnet: Ipv4Net, resolve: bool, progress: Option<Arc<dyn Fn(DiscoverProgress) + Send + Sync>>, ) -> Result<Vec<Host>>
Ping-sweep a subnet, then resolve names for the hosts that answered.
Enforces the /16 cap itself rather than trusting the caller. This is
public API re-exported at the crate root, and it used to collect every
address of whatever Ipv4Net it was given straight into a Vec –
0.0.0.0/0 is 4,294,967,294 entries, roughly 73 GB, allocated before
a single packet is sent. Ops checked, the engine did not.
Auto Trait Implementations§
impl !RefUnwindSafe for DiscoverEngine
impl !UnwindSafe for DiscoverEngine
impl Freeze for DiscoverEngine
impl Send for DiscoverEngine
impl Sync for DiscoverEngine
impl Unpin for DiscoverEngine
impl UnsafeUnpin for DiscoverEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more