MCPcopy Create free account
hub / github.com/TactilityProject/Tactility / cachePeerRecord

Function cachePeerRecord

Tactility/Source/bluetooth/Bluetooth.cpp:83–104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

81}
82
83static void cachePeerRecord(const BtPeerRecord& krecord) {
84 PeerRecord rec;
85 memcpy(rec.addr.data(), krecord.addr, 6);
86 rec.name = krecord.name[0] != '\0' ? krecord.name : "";
87 rec.rssi = krecord.rssi;
88 rec.paired = krecord.paired;
89 rec.connected = krecord.connected;
90 rec.profileId = 0;
91
92 cacheScanAddr(krecord.addr, krecord.addr_type);
93
94 auto lock = scan_cache_mutex.asScopedLock();
95 lock.lock();
96 for (auto& existing : scan_results_cache) {
97 if (existing.addr == rec.addr) {
98 if (!rec.name.empty()) existing.name = rec.name;
99 existing.rssi = rec.rssi;
100 return;
101 }
102 }
103 scan_results_cache.push_back(std::move(rec));
104}
105
106// ---- Bridge callback (registered with kernel driver) ----
107// This callback listens to platform driver events to perform auto-start logic

Callers 1

bt_event_bridgeFunction · 0.85

Calls 3

cacheScanAddrFunction · 0.85
asScopedLockMethod · 0.80
lockMethod · 0.45

Tested by

no test coverage detected