pub struct TracerouteBuilder;
Implementations§
Source§impl TracerouteBuilder
impl TracerouteBuilder
Sourcepub fn udp() -> TracerouteUdpBuilder
pub fn udp() -> TracerouteUdpBuilder
Examples found in repository?
examples/traceroute.rs (line 16)
9async fn main() -> Result<(), String> {
10 let ip_addr = match dns_lookup_first_ipv4_addr("google.com").await {
11 None => return Err(String::from("Hostname not resolvable")),
12 Some(ip_addr) => ip_addr,
13 };
14
15 println!("{:?}", ip_addr);
16 let traceroute = TracerouteBuilder::udp()
17 .destination_address(ip_addr)
18 .max_ttl(15)
19 .queries_per_hop(3)
20 .max_wait_probe(Duration::from_secs(3))
21 .simultaneous_queries(16)
22 .active_dns_lookup(true)
23 .initial_destination_port(33434)
24 .network_interface("eth0")
25 .build();
26
27 let traceroute_stream = match traceroute {
28 Ok(traceroute) => traceroute.trace(),
29 Err(error) => return Err(error),
30 };
31
32 pin_mut!(traceroute_stream);
33 while let Some(probe_result) = traceroute_stream.next().await {
34 println!("{:?}", probe_result);
35 }
36
37 Ok(())
38}
pub fn icmp() -> TracerouteIcmpBuilder
pub fn tcp() -> TracerouteTcpBuilder
Auto Trait Implementations§
impl Freeze for TracerouteBuilder
impl RefUnwindSafe for TracerouteBuilder
impl Send for TracerouteBuilder
impl Sync for TracerouteBuilder
impl Unpin for TracerouteBuilder
impl UnwindSafe for TracerouteBuilder
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<Source, Target> OctetsInto<Target> for Sourcewhere
Target: OctetsFrom<Source>,
impl<Source, Target> OctetsInto<Target> for Sourcewhere
Target: OctetsFrom<Source>,
type Error = <Target as OctetsFrom<Source>>::Error
Source§fn try_octets_into(
self,
) -> Result<Target, <Source as OctetsInto<Target>>::Error>
fn try_octets_into( self, ) -> Result<Target, <Source as OctetsInto<Target>>::Error>
Performs the conversion.
Source§fn octets_into(self) -> Target
fn octets_into(self) -> Target
Performs an infallible conversion.