#[non_exhaustive]pub struct NetReportConfig {
pub https_probes: bool,
pub captive_portal_check: bool,
}Expand description
Configuration for the net report component.
Controls which probes and checks are performed when generating network reports.
All options default to true.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.https_probes: boolRun HTTPS latency probes against relay servers.
HTTPS latency probes perform an empty HTTPS GET request to each configured relay server and measure latency.
They are performed in addition to the QUIC address discovery (QAD) probes. In networks that do not allow QUIC traffic, they are the only way to detect relay latencies and thus the preferred relay.
Disabling them is harmless on networks that do allow QUIC traffic, but will completely prevent finding the home relay on networks that do block QUIC.
captive_portal_check: boolCheck for captive portals when generating the first report.
This is done by accessing a well-known URL that is available on each relay
server, /generate_204. If a GET request to this URL returns anything else
but a 204 No Content response, we assume we are behind a captive portal.
When we have detected that we are behind a captive portal, we try to contact the relay servers more frequently in case the captive portal status changes.
Implementations§
Trait Implementations§
Source§impl Clone for NetReportConfig
impl Clone for NetReportConfig
Source§fn clone(&self) -> NetReportConfig
fn clone(&self) -> NetReportConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NetReportConfig
impl Debug for NetReportConfig
Auto Trait Implementations§
impl Freeze for NetReportConfig
impl RefUnwindSafe for NetReportConfig
impl Send for NetReportConfig
impl Sync for NetReportConfig
impl Unpin for NetReportConfig
impl UnsafeUnpin for NetReportConfig
impl UnwindSafe for NetReportConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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