pub struct SCNetworkReachability(/* private fields */);
Expand description

A network address or host for which the connectivity can be determined.

See SCNetworkReachability for details.

Implementations§

source§

impl SCNetworkReachability

source

pub fn from_addr_pair( local: SocketAddr, remote: SocketAddr, ) -> SCNetworkReachability

Construct a SCNetworkReachability struct with a local and a remote socket address.

See SCNetworkReachabilityCreateWithAddressPair for details.

source

pub fn from_host(host: &CStr) -> Option<Self>

Construct a Reachability from either a hostname or a network node

See SCNetworkReachabilityCreateWithName for details.

source

pub fn reachability(&self) -> Result<ReachabilityFlags, ReachabilityError>

Return a flag indicating whether the specified network address is reachable.

See SCNetworkReachabilityGetFlags for details.

source

pub unsafe fn schedule_with_runloop( &self, run_loop: &CFRunLoop, run_loop_mode: CFStringRef, ) -> Result<(), SchedulingError>

Schedule callback with runloop.

See SCNetworkReachabilityScheduleFromRunLoop for details.

§Safety

The run_loop_mode must not be NULL and must be a pointer to a valid run loop mode. Use core_foundation::runloop::kCFRunLoopCommonModes if you are unsure.

source

pub unsafe fn unschedule_from_runloop( &self, run_loop: &CFRunLoop, run_loop_mode: CFStringRef, ) -> Result<(), UnschedulingError>

Unschedule from run loop.

See SCNetworkReachabilityUnscheduleFromRunLoop for details.

§Safety

The run_loop_mode must not be NULL and must be a pointer to a valid run loop mode. Use core_foundation::runloop::kCFRunLoopCommonModes if you are unsure.

source

pub fn set_callback<F: Fn(ReachabilityFlags) + Sync + Send>( &mut self, callback: F, ) -> Result<(), SetCallbackError>

Sets callback that is run whenever network connectivity changes. For the callback to be invoked, the SCNetworkReachability has to be registered on a run loop. Calling this function multiple times will clear the subsequently set callback.

See SCNetworkReachabilityContext for details.

Trait Implementations§

source§

impl Clone for SCNetworkReachability

source§

fn clone(&self) -> SCNetworkReachability

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Drop for SCNetworkReachability

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl From<SocketAddr> for SCNetworkReachability

source§

fn from(addr: SocketAddr) -> Self

Converts to this type from the input type.
source§

impl PartialEq for SCNetworkReachability

source§

fn eq(&self, other: &SCNetworkReachability) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl TCFType for SCNetworkReachability

§

type Ref = *const c_void

The reference type wrapped inside this type.
source§

fn as_concrete_TypeRef(&self) -> SCNetworkReachabilityRef

Returns the object as its concrete TypeRef.
source§

unsafe fn wrap_under_get_rule(reference: SCNetworkReachabilityRef) -> Self

Returns an instance of the object, wrapping the underlying CFTypeRef subclass. Use this when following Core Foundation’s “Get Rule”. The reference count is bumped.
source§

fn as_CFTypeRef(&self) -> CFTypeRef

Returns the object as a raw CFTypeRef. The reference count is not adjusted.
source§

unsafe fn wrap_under_create_rule(reference: SCNetworkReachabilityRef) -> Self

Returns an instance of the object, wrapping the underlying CFTypeRef subclass. Use this when following Core Foundation’s “Create Rule”. The reference count is not bumped.
source§

fn type_id() -> CFTypeID

Returns the type ID for this class.
source§

fn as_CFType(&self) -> CFType

Returns the object as a wrapped CFType. The reference count is incremented by one.
source§

fn into_CFType(self) -> CFType
where Self: Sized,

Returns the object as a wrapped CFType. Consumes self and avoids changing the reference count.
source§

fn retain_count(&self) -> isize

Returns the reference count of the object. It is unwise to do anything other than test whether the return value of this method is greater than zero.
source§

fn type_of(&self) -> usize

Returns the type ID of this object.
source§

fn show(&self)

Writes a debugging version of this object on standard error.
source§

fn instance_of<OtherCFType>(&self) -> bool
where OtherCFType: TCFType,

Returns true if this value is an instance of another type.
source§

impl<'a> ToVoid<SCNetworkReachability> for &'a SCNetworkReachability

source§

impl ToVoid<SCNetworkReachability> for SCNetworkReachabilityRef

source§

impl ToVoid<SCNetworkReachability> for SCNetworkReachability

source§

impl ConcreteCFType for SCNetworkReachability

source§

impl Eq for SCNetworkReachability

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromMutVoid for T
where T: TCFType,

source§

unsafe fn from_mut_void<'a>(x: *mut c_void) -> ItemMutRef<'a, T>

source§

impl<T> FromVoid for T
where T: TCFType,

source§

unsafe fn from_void<'a>(x: *const c_void) -> ItemRef<'a, T>

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.