Thanks to visit codestin.com
Credit goes to docs.rs

Skip to main content

DiscoveryFilter

Struct DiscoveryFilter 

Source
pub struct DiscoveryFilter {
    pub uuids: HashSet<Uuid>,
    pub rssi: Option<i16>,
    pub pathloss: Option<u16>,
    pub transport: DiscoveryTransport,
    pub duplicate_data: bool,
    pub discoverable: bool,
    pub pattern: Option<String>,
    /* private fields */
}
Available on crate feature bluetoothd only.
Expand description

Bluetooth device discovery filter.

The default discovery filter does not restrict any devices and provides duplicate data.

Fields§

§uuids: HashSet<Uuid>

Filter by service UUIDs, empty means match any UUID.

When a remote device is found that advertises any UUID from UUIDs, it will be reported if:

  • pathloss and RSSI are both empty.
  • only pathloss param is set, device advertise TX power, and computed pathloss is less than pathloss param.
  • only RSSI param is set, and received RSSI is higher than RSSI param.
§rssi: Option<i16>

RSSI threshold value.

PropertiesChanged signals will be emitted for already existing Device objects, with updated RSSI value. If one or more discovery filters have been set, the RSSI delta-threshold, that is imposed by StartDiscovery by default, will not be applied.

§pathloss: Option<u16>

Pathloss threshold value.

PropertiesChanged signals will be emitted for already existing Device objects, with updated Pathloss value.

Must not be set when rssi is set.

§transport: DiscoveryTransport

Transport parameter determines the type of scan.

Possible values: “auto” - interleaved scan “bredr” - BR/EDR inquiry “le” - LE scan only

If “le” or “bredr” Transport is requested, and the controller doesn’t support it, org.bluez.Error.Failed error will be returned.

If “auto” transport is requested, scan will use LE, BREDR, or both, depending on what’s currently enabled on the controller.

§duplicate_data: bool

Disables duplicate detection of advertisement data.

When enabled PropertiesChanged signals will be generated for either ManufacturerData and ServiceData every time they are discovered.

§discoverable: bool

Make adapter discoverable while discovering.

If the adapter is already discoverable setting this filter won’t do anything.

§pattern: Option<String>

Discover devices where the pattern matches either the prefix of the address or device name which is convenient way to limited the number of device objects created during a discovery.

When set disregards device discoverable flags.

Note: The pattern matching is ignored if there are other client that don’t set any pattern as it work as a logical OR, also setting empty string “” pattern will match any device found.

Trait Implementations§

Source§

impl Clone for DiscoveryFilter

Source§

fn clone(&self) -> DiscoveryFilter

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for DiscoveryFilter

Source§

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

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

impl Default for DiscoveryFilter

Source§

fn default() -> DiscoveryFilter

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for DiscoveryFilter

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for DiscoveryFilter

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 Serialize for DiscoveryFilter

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for DiscoveryFilter

Source§

impl StructuralPartialEq for DiscoveryFilter

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> 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.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,