/packages/modules/Bluetooth/system/stack/arbiter/ |
D | acl_arbiter.cc | 36 ::rust::Fn<void(uint8_t tcb_idx, uint8_t advertiser)> on_le_connect; 37 ::rust::Fn<void(uint8_t tcb_idx)> on_le_disconnect; 38 ::rust::Fn<InterceptAction(uint8_t tcb_idx, ::rust::Vec<uint8_t> buffer)> 40 ::rust::Fn<void(uint8_t tcb_idx)> on_outgoing_mtu_req; 41 ::rust::Fn<void(uint8_t tcb_idx, size_t mtu)> on_incoming_mtu_resp; 42 ::rust::Fn<void(uint8_t tcb_idx, size_t mtu)> on_incoming_mtu_req; 48 void AclArbiter::OnLeConnect(uint8_t tcb_idx, uint16_t advertiser_id) { in OnLeConnect() argument 53 callbacks_.on_le_connect(tcb_idx, advertiser_id); in OnLeConnect() 56 void AclArbiter::OnLeDisconnect(uint8_t tcb_idx) { in OnLeDisconnect() argument 61 callbacks_.on_le_disconnect(tcb_idx); in OnLeDisconnect() [all …]
|
D | acl_arbiter.h | 42 void OnLeConnect(uint8_t tcb_idx, uint16_t advertiser_id); 43 void OnLeDisconnect(uint8_t tcb_idx); 44 InterceptAction InterceptAttPacket(uint8_t tcb_idx, const BT_HDR* packet); 46 void OnOutgoingMtuReq(uint8_t tcb_idx); 47 void OnIncomingMtuResp(uint8_t tcb_idx, size_t mtu); 48 void OnIncomingMtuReq(uint8_t tcb_idx, size_t mtu); 50 void SendPacketToPeer(uint8_t tcb_idx, ::rust::Vec<uint8_t> buffer); 59 ::rust::Fn<void(uint8_t tcb_idx, uint8_t advertiser)> on_le_connect, 60 ::rust::Fn<void(uint8_t tcb_idx)> on_le_disconnect, 61 ::rust::Fn<InterceptAction(uint8_t tcb_idx, ::rust::Vec<uint8_t> buffer)> [all …]
|
/packages/modules/Bluetooth/system/rust/src/gatt/ |
D | arbiter.rs | 35 |tcb_idx| on_mtu_event(TransportIndex(tcb_idx), MtuEvent::OutgoingRequest), in initialize_arbiter() 36 |tcb_idx, mtu| on_mtu_event(TransportIndex(tcb_idx), MtuEvent::IncomingResponse(mtu)), in initialize_arbiter() 37 |tcb_idx, mtu| on_mtu_event(TransportIndex(tcb_idx), MtuEvent::IncomingRequest(mtu)), in initialize_arbiter() 64 tcb_idx: TransportIndex, in try_parse_att_server_packet() 67 isolation_manager.get_server_id(tcb_idx)?; in try_parse_att_server_packet() 83 fn on_le_connect(tcb_idx: u8, advertiser: u8) { in on_le_connect() 84 let tcb_idx = TransportIndex(tcb_idx); in on_le_connect() localVariable 89 if let Err(err) = modules.gatt_module.on_le_connect(tcb_idx, Some(advertiser)) { in on_le_connect() 96 fn on_le_disconnect(tcb_idx: u8) { in on_le_disconnect() 105 let tcb_idx = TransportIndex(tcb_idx); in on_le_disconnect() localVariable [all …]
|
D | server.rs | 80 tcb_idx: TransportIndex, in on_le_connect() 84 self.isolation_manager.lock().unwrap().on_le_connect(tcb_idx, advertiser_id); in on_le_connect() 86 let Some(server_id) = self.isolation_manager.lock().unwrap().get_server_id(tcb_idx) else { in on_le_connect() 96 database.get_att_database(tcb_idx), in on_le_connect() 97 move |packet| transport.send_packet(tcb_idx, packet), in on_le_connect() 99 database.on_bearer_ready(tcb_idx, bearer.as_ref()); in on_le_connect() 100 self.connections.insert(tcb_idx, GattConnection { bearer, database: database.downgrade() }); in on_le_connect() 105 pub fn on_le_disconnect(&mut self, tcb_idx: TransportIndex) -> Result<()> { in on_le_disconnect() 107 self.isolation_manager.lock().unwrap().on_le_disconnect(tcb_idx); in on_le_disconnect() 108 let connection = self.connections.remove(&tcb_idx); in on_le_disconnect() [all …]
|
D | callbacks.rs | 101 tcb_idx: TransportIndex, in read() 110 tcb_idx: TransportIndex, in write() 121 tcb_idx: TransportIndex, in write_no_response() 130 tcb_idx: TransportIndex, in execute() 142 tcb_idx: TransportIndex, in read() 150 tcb_idx: TransportIndex, in write() 162 tcb_idx: TransportIndex, in read() 171 self.read(tcb_idx, handle, attr_type).await in read() 177 tcb_idx: TransportIndex, in write() 188 GattWriteRequestType::Request => self.write(tcb_idx, handle, attr_type, data).await, in write() [all …]
|
D | ffi.rs | 150 on_le_connect: fn(tcb_idx: u8, advertiser: u8), in StoreCallbacksFromRust() 151 on_le_disconnect: fn(tcb_idx: u8), in StoreCallbacksFromRust() 152 intercept_packet: fn(tcb_idx: u8, packet: Vec<u8>) -> InterceptAction, in StoreCallbacksFromRust() 153 on_outgoing_mtu_req: fn(tcb_idx: u8), in StoreCallbacksFromRust() 154 on_incoming_mtu_resp: fn(tcb_idx: u8, mtu: usize), in StoreCallbacksFromRust() 155 on_incoming_mtu_req: fn(tcb_idx: u8, mtu: usize), in StoreCallbacksFromRust() 159 fn SendPacketToPeer(tcb_idx: u8, packet: Vec<u8>); in SendPacketToPeer() 272 tcb_idx: TransportIndex, in send_packet() 275 SendPacketToPeer(tcb_idx.0, packet.to_vec()?); in send_packet()
|
D | ids.rs | 12 pub const fn new(tcb_idx: TransportIndex, server_id: ServerId) -> ConnectionId { in new() 13 ConnectionId(((tcb_idx.0 as u16) << 8) + (server_id.0 as u16)) in new()
|
D | channel.rs | 19 tcb_idx: TransportIndex, in send_packet()
|
/packages/modules/Bluetooth/system/rust/src/gatt/mocks/ |
D | mock_raw_datastore.rs | 62 tcb_idx: TransportIndex, in read() 68 self.0.send(MockRawDatastoreEvents::Read(tcb_idx, handle, attr_type, offset, tx)).unwrap(); in read() 76 tcb_idx: TransportIndex, in write() 85 tcb_idx, in write() 98 tcb_idx: TransportIndex, in write_no_response() 105 tcb_idx, in write_no_response() 115 tcb_idx: TransportIndex, in execute() 119 self.0.send(MockRawDatastoreEvents::Execute(tcb_idx, decision, tx)).unwrap(); in execute()
|
D | mock_database_callbacks.rs | 41 tcb_idx: TransportIndex, in on_le_connect() 44 self.0.send(MockCallbackEvents::OnLeConnect(tcb_idx, bearer.downgrade())).ok().unwrap(); in on_le_connect() 47 fn on_le_disconnect(&self, tcb_idx: TransportIndex) { in on_le_disconnect() 48 self.0.send(MockCallbackEvents::OnLeDisconnect(tcb_idx)).ok().unwrap(); in on_le_disconnect()
|
D | mock_datastore.rs | 55 tcb_idx: TransportIndex, in read() 60 self.0.send(MockDatastoreEvents::Read(tcb_idx, handle, attr_type, tx)).unwrap(); in read() 68 tcb_idx: TransportIndex, in write() 75 .send(MockDatastoreEvents::Write(tcb_idx, handle, attr_type, data.to_vec(), tx)) in write()
|
D | mock_transport.rs | 24 tcb_idx: TransportIndex, in send_packet() 28 self.0.send((tcb_idx, packet)).unwrap(); in send_packet()
|
/packages/modules/Bluetooth/system/rust/src/gatt/callbacks/ |
D | callback_transaction_manager.rs | 138 tcb_idx: TransportIndex, in read() 143 let conn_id = ConnectionId::new(tcb_idx, self.server_id); in read() 153 ConnectionId::new(tcb_idx, self.server_id), in read() 165 tcb_idx: TransportIndex, in write() 171 let conn_id = ConnectionId::new(tcb_idx, self.server_id); in write() 195 tcb_idx: TransportIndex, in write_no_response() 200 let conn_id = ConnectionId::new(tcb_idx, self.server_id); in write_no_response() 219 tcb_idx: TransportIndex, in execute() 222 let conn_id = ConnectionId::new(tcb_idx, self.server_id); in execute()
|
/packages/modules/Bluetooth/system/rust/src/gatt/server/ |
D | isolation_manager.rs | 49 pub fn is_connection_isolated(&self, tcb_idx: TransportIndex) -> bool { in is_connection_isolated() 50 self.transport_to_server.contains_key(&tcb_idx) in is_connection_isolated() 59 pub fn get_server_id(&self, tcb_idx: TransportIndex) -> Option<ServerId> { in get_server_id() 60 self.transport_to_server.get(&tcb_idx).copied() in get_server_id() 74 pub fn on_le_connect(&mut self, tcb_idx: TransportIndex, advertiser: Option<AdvertiserId>) { in on_le_connect() 87 let old = self.transport_to_server.insert(tcb_idx, server_id); in on_le_connect() 96 pub fn on_le_disconnect(&mut self, tcb_idx: TransportIndex) { in on_le_disconnect() 98 self.transport_to_server.remove(&tcb_idx); in on_le_disconnect()
|
D | gatt_database.rs | 123 tcb_idx: TransportIndex, in on_le_connect() 127 fn on_le_disconnect(&self, tcb_idx: TransportIndex); in on_le_disconnect() 147 tcb_idx: TransportIndex, in on_bearer_ready() 151 listener.on_le_connect(tcb_idx, bearer.clone()); in on_bearer_ready() 156 pub fn on_bearer_dropped(&self, tcb_idx: TransportIndex) { in on_bearer_dropped() 158 listener.on_le_disconnect(tcb_idx); in on_bearer_dropped() 337 pub fn get_att_database(&self, tcb_idx: TransportIndex) -> AttDatabaseImpl { in get_att_database() 338 AttDatabaseImpl { gatt_db: self.downgrade(), tcb_idx } in get_att_database() 345 tcb_idx: TransportIndex, field 371 self.tcb_idx, in read_attribute() [all …]
|
/packages/modules/Bluetooth/system/stack/gatt/ |
D | gatt_api.cc | 449 uint8_t tcb_idx = GATT_GET_TCB_IDX(conn_id); in GATTS_HandleValueIndication() local 451 tGATT_TCB* p_tcb = gatt_get_tcb_by_idx(tcb_idx); in GATTS_HandleValueIndication() 546 uint8_t tcb_idx = GATT_GET_TCB_IDX(conn_id); in GATTS_HandleValueNotification() local 548 tGATT_TCB* p_tcb = gatt_get_tcb_by_idx(tcb_idx); in GATTS_HandleValueNotification() 580 cached_tcb_idx = tcb_idx; in GATTS_HandleValueNotification() 584 if (cached_tcb_idx == tcb_idx) { in GATTS_HandleValueNotification() 598 log::error("PTS Mode: Invalid tcb_idx: {}, cached_tcb_idx: {}", tcb_idx, in GATTS_HandleValueNotification() 643 uint8_t tcb_idx = GATT_GET_TCB_IDX(conn_id); in GATTS_SendRsp() local 645 tGATT_TCB* p_tcb = gatt_get_tcb_by_idx(tcb_idx); in GATTS_SendRsp() 691 uint8_t tcb_idx = GATT_GET_TCB_IDX(conn_id); in GATTC_ConfigureMTU() local [all …]
|
D | gatt_attr.cc | 640 uint8_t tcb_idx = GATT_GET_TCB_IDX(conn_id); in gatt_cl_op_cmpl_cback() local 641 tGATT_TCB& tcb = gatt_cb.tcb[tcb_idx]; in gatt_cl_op_cmpl_cback() 666 uint8_t tcb_idx = GATT_GET_TCB_IDX(conn_id); in gatt_cl_op_cmpl_cback() local 667 tGATT_TCB& tcb = gatt_cb.tcb[tcb_idx]; in gatt_cl_op_cmpl_cback() 1000 uint8_t tcb_idx = GATT_GET_TCB_IDX(conn_id); in gatt_profile_get_eatt_support() local 1001 tGATT_TCB& tcb = gatt_cb.tcb[tcb_idx]; in gatt_profile_get_eatt_support() 1128 uint8_t tcb_idx = GATT_GET_TCB_IDX(conn_id); in gatt_sr_read_db_hash() local 1129 gatt_sr_update_cl_status(gatt_cb.tcb[tcb_idx], /* chg_aware= */ true); in gatt_sr_read_db_hash() 1137 uint8_t tcb_idx = GATT_GET_TCB_IDX(conn_id); in gatt_sr_read_cl_supp_feat() local 1138 tGATT_TCB& tcb = gatt_cb.tcb[tcb_idx]; in gatt_sr_read_cl_supp_feat() [all …]
|
D | gatt_main.cc | 507 bluetooth::shim::arbiter::GetArbiter().OnLeDisconnect(p_tcb->tcb_idx); in gatt_le_connect_cback() 559 bluetooth::shim::arbiter::GetArbiter().OnLeConnect(p_tcb->tcb_idx, in gatt_le_connect_cback() 642 conn_id = GATT_CREATE_CONN_ID(p_tcb->tcb_idx, p_reg->gatt_if); in gatt_channel_congestion() 667 uint16_t conn_id = GATT_CREATE_CONN_ID(p_tcb->tcb_idx, p_reg->gatt_if); in gatt_notify_phy_updated() 684 uint16_t conn_id = GATT_CREATE_CONN_ID(p_tcb->tcb_idx, p_reg->gatt_if); in gatt_notify_conn_update() 708 uint16_t conn_id = GATT_CREATE_CONN_ID(p_tcb->tcb_idx, p_reg->gatt_if); in gatt_notify_subrate_change() 748 p_tcb->tcb_idx, p_buf); in gatt_le_data_ind() 965 conn_id = GATT_CREATE_CONN_ID(p_tcb->tcb_idx, p_reg->gatt_if); in gatt_send_conn_cback()
|
D | gatt_utils.cc | 420 tGATT_TCB* gatt_get_tcb_by_idx(uint8_t tcb_idx) { in gatt_get_tcb_by_idx() argument 423 if ((tcb_idx < gatt_get_max_phy_channel()) && gatt_cb.tcb[tcb_idx].in_use) in gatt_get_tcb_by_idx() 424 p_tcb = &gatt_cb.tcb[tcb_idx]; in gatt_get_tcb_by_idx() 467 stream << " id: " << +p_tcb->tcb_idx in gatt_tcb_dump() 505 p_tcb->tcb_idx = i; in gatt_allocate_tcb_by_bdaddr() 1085 uint8_t tcb_idx = GATT_GET_TCB_IDX(conn_id); in gatt_clcb_alloc() local 1086 tGATT_TCB* p_tcb = gatt_get_tcb_by_idx(tcb_idx); in gatt_clcb_alloc() 1510 log::verbose("tcb idx={} gatt_if={} is_inc={} is_reset_first={}", tcb.tcb_idx, in gatt_sr_update_prep_cnt() 1761 p_tcb ? GATT_CREATE_CONN_ID(p_tcb->tcb_idx, p_reg->gatt_if) in gatt_le_disconnect_complete_notify_user()
|
D | gatt_int.h | 40 #define GATT_CREATE_CONN_ID(tcb_idx, gatt_if) \ argument 41 ((uint16_t)((((uint8_t)(tcb_idx)) << 8) | ((uint8_t)(gatt_if)))) 338 uint8_t tcb_idx; member 624 tGATT_TCB* gatt_get_tcb_by_idx(uint8_t tcb_idx);
|
D | gatt_sr.cc | 406 conn_id = GATT_CREATE_CONN_ID(tcb.tcb_idx, gatt_if); in gatt_process_exec_write_req() 865 bluetooth::shim::arbiter::GetArbiter().OnIncomingMtuReq(tcb.tcb_idx, in gatts_process_mtu_req() 875 GATT_CREATE_CONN_ID(tcb.tcb_idx, gatt_cb.cl_rcb[i].gatt_if); in gatts_process_mtu_req() 1029 conn_id = GATT_CREATE_CONN_ID(tcb.tcb_idx, el.gatt_if); in gatts_process_write_req() 1294 uint16_t conn_id = GATT_CREATE_CONN_ID(tcb.tcb_idx, el.gatt_if); in gatts_process_value_conf()
|
D | gatt_cl.cc | 735 conn_id = GATT_CREATE_CONN_ID(tcb.tcb_idx, p_reg->gatt_if); in gatt_process_notification() 775 conn_id = GATT_CREATE_CONN_ID(tcb.tcb_idx, p_reg->gatt_if); in gatt_process_notification() 1115 bluetooth::shim::arbiter::GetArbiter().OnIncomingMtuResp(tcb.tcb_idx, in gatt_process_mtu_rsp()
|
D | gatt_db.cc | 705 uint16_t conn_id = GATT_CREATE_CONN_ID(tcb.tcb_idx, el.gatt_if); in gatts_send_app_read_request()
|
/packages/modules/Bluetooth/system/rust/src/gatt/server/services/ |
D | gatt.rs | 60 tcb_idx: TransportIndex, in read() 70 .get(&tcb_idx) in read() 84 tcb_idx: TransportIndex, in write() 96 let state = clients.get_mut(&tcb_idx); in write() 112 tcb_idx: TransportIndex, in on_le_connect() 117 tcb_idx, in on_le_connect() 122 fn on_le_disconnect(&self, tcb_idx: TransportIndex) { in on_le_disconnect() 123 self.clients.borrow_mut().remove(&tcb_idx); in on_le_disconnect() 210 tcb_idx: TransportIndex, in add_connection() 213 let att_database = gatt_database.get_att_database(tcb_idx); in add_connection() [all …]
|
/packages/modules/Bluetooth/system/rust/tests/ |
D | gatt_server_test.rs | 127 let (tcb_idx, resp) = transport_rx.recv().await.unwrap(); in test_service_read() 130 assert_eq!(tcb_idx, TCB_IDX); in test_service_read() 209 let (tcb_idx, resp) = transport_rx.recv().await.unwrap(); in test_characteristic_read() 212 assert_eq!(tcb_idx, TCB_IDX); in test_characteristic_read() 254 let (tcb_idx, resp) = transport_rx.recv().await.unwrap(); in test_characteristic_write() 257 assert_eq!(tcb_idx, TCB_IDX); in test_characteristic_write() 284 let (tcb_idx, resp) = transport_rx.recv().await.unwrap(); in test_send_indication() 292 assert_eq!(tcb_idx, TCB_IDX); in test_send_indication() 362 let (tcb_idx, resp) = transport_rx.recv().await.unwrap(); in test_write_to_descriptor() 365 assert_eq!(tcb_idx, TCB_IDX); in test_write_to_descriptor() [all …]
|