Struct Incompatible

Source
pub struct Incompatible { /* private fields */ }
Expand description

Unsupported configurations for an incompatible BSS with respect to a scanning interface.

Describes disjoint features between an incompatible BSS and a local scanning interface that prevent establishing a connection. Information about modes of operation is best effort; Incompatible may provide no additional information at all.

Implementations§

Source§

impl Incompatible

Source

pub fn from_description(description: impl Into<Cow<'static, str>>) -> Self

Constructs an Incompatible from a description with no feature information.

Source

pub fn try_from_features( description: impl Into<Cow<'static, str>>, disjoint_security_protocols: Option<impl IntoIterator<Item = (SecurityDescriptor, MacRole)>>, ) -> Option<Self>

Constructs an Incompatible from a description and disjoint features.

Returns None if any given features are not disjoint. For example, None is returned if a security protocol appears more than once with differing roles, because this implies compatibility (a mutually supported security protocol).

Note that the features considered by Incompatible depend on the needs of downstream code and may change. This function accepts parameters that represent only these features, which may be as few in number as one and may grow to many.

Source

pub const fn unknown() -> Compatibility

Constructs a Compatibility from an Incompatible with no feature information.

Source

pub fn expect_err( description: impl Into<Cow<'static, str>>, disjoint_security_protocols: Option<impl IntoIterator<Item = (SecurityDescriptor, MacRole)>>, ) -> Compatibility

Constructs a Compatibility from an Incompatible from disjoint features.

While this function presents a fallible interface and returns a Compatibility (Result), it panics on failure and never returns Ok. This can be used when a Compatibility is needed but it is important to assert that it is incompatible (Err), most notably in tests.

See Incompatible::try_from_features.

§Panics

Panics if an Incompatible cannot be constructed from the given disjoint features. This occurs if Incompatible::try_from_features returns None.

Source

pub fn disjoint_security_protocols( &self, ) -> Option<&HashMap<SecurityDescriptor, MacRole>>

Gets the sets of disjoint security protocols, if any.

The disjoint sets are represented as a map from SecurityDescriptor to MacRole, where each security protocol is supported only by one station in a particular role (e.g., client and AP). There is a disjoint set of security protocols for each unique role in the map.

Returns None if no security protocol incompatibility has been detected. When Some but with an empty map, security protocol support is considered incompatible even though the protocols are not described.

Trait Implementations§

Source§

impl Clone for Incompatible

Source§

fn clone(&self) -> Incompatible

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 Debug for Incompatible

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Incompatible

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for Incompatible

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Incompatible> for Incompatible

Source§

fn from(incompatible: Incompatible) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Incompatible

Source§

fn eq(&self, other: &Incompatible) -> 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 TryFrom<Incompatible> for Incompatible

Source§

type Error = Incompatible

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

fn try_from(incompatible: Incompatible) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl StructuralPartialEq for Incompatible

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 u8)

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

impl<T, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> OptionalField for T
where T: ?Sized,

Source§

const PRESENT: Presence<Self> = _

Source§

const ABSENT: Presence<Self> = _

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

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

Source§

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

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>,

Source§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V