Struct Compatible

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

Supported configurations for a compatible BSS with respect to a scanning interface.

Describes the mutually supported features between a compatible BSS and a local scanning interface that can be negotiated and/or used to establish a connection.

Implementations§

Source§

impl Compatible

Source

pub fn try_from_features( mutual_security_protocols: impl IntoIterator<Item = SecurityDescriptor>, ) -> Option<Self>

Constructs a Compatible from mutually supported features.

Returns None if any set of mutually supported features is empty, because this implies incompatibility.

Note that the features considered by Compatible 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 fn expect_ok( mutual_security_protocols: impl IntoIterator<Item = SecurityDescriptor>, ) -> Compatibility

Constructs a Compatibility from a Compatible from mutually supported features.

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

See Compatible::try_from_features.

§Panics

Panics if a Compatible cannot be constructed from the given mutually supported features. This occurs if Compatible::try_from_features returns None.

Source

pub fn mutual_security_protocols(&self) -> &HashSet<SecurityDescriptor>

Gets the set of mutually supported security protocols.

This set represents the intersection of security protocols supported by the BSS and the scanning interface. In this context, this set is never empty, as that would imply incompatibility.

Trait Implementations§

Source§

impl Clone for Compatible

Source§

fn clone(&self) -> Compatible

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 Compatible

Source§

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

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

impl From<Compatible> for Compatible

Source§

fn from(compatibility: Compatible) -> Self

Converts to this type from the input type.
Source§

impl From<Compatible> for HashSet<SecurityDescriptor>

Source§

fn from(compatibility: Compatible) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Compatible

Source§

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

Source§

type Error = Compatible

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

fn try_from(compatibility: Compatible) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl StructuralPartialEq for Compatible

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