esp32-nimble 0.12.0

A wrapper for the ESP32 NimBLE Bluetooth stack.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use crate::utilities::ArcUnsafeCell;
use esp_idf_svc::sys as esp_idf_sys;

use super::ble_client::BLEClientState;

pub(crate) trait BLEAttribute {
    fn get_client(&self) -> Option<ArcUnsafeCell<BLEClientState>>;

    fn conn_handle(&self) -> u16 {
        match self.get_client() {
            Some(x) => x.conn_handle,
            None => esp_idf_sys::BLE_HS_CONN_HANDLE_NONE as _,
        }
    }
}