diff options
author | Sven Gothel <[email protected]> | 2021-01-11 15:03:14 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2021-01-11 15:03:14 +0100 |
commit | 6dedd5a38eb3251958685d2c1823866456866a1e (patch) | |
tree | 983b90e2de14b764423956ebb9d791be50d2dc7d /src/direct_bt/SMPHandler.cpp | |
parent | ea7bfd2669c5ed232272c1b7f38d5084d95f5bad (diff) |
Replace std::vector w/ jau::darray and jau::cow_vector with jau::cow_darray (performance and CoW correctness)
Merging jaulib's darray and cow_darray into direct_bt.
As explained in jaulib, motivation behing darray + cow_darray
is to allow fine grained controll over the CoW's storage
to have certain guarantess on its operation.
Iterator and push_back() enhancments are a few of these.
Fixes performed while replacing:
- DBTDevice getGATTServices(): Take the copy as it will be returned.
- GATTHandler removeAllAssociatedCharacteristicListener(): Try to delete all matching!
Don't stop loop after found and erased first, continue.
Also return number of erased elements, not just true.
- DBTManager ctor: Don't work on CoW snapshot, work on CoW
- Simplified many loops / iterations
Diffstat (limited to 'src/direct_bt/SMPHandler.cpp')
-rw-r--r-- | src/direct_bt/SMPHandler.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/direct_bt/SMPHandler.cpp b/src/direct_bt/SMPHandler.cpp index f366cd35..cc4e97ff 100644 --- a/src/direct_bt/SMPHandler.cpp +++ b/src/direct_bt/SMPHandler.cpp @@ -127,7 +127,7 @@ void SMPHandler::l2capReaderThreadImpl() { if( SMPPDUMsg::Opcode::SECURITY_REQUEST == opc ) { COND_PRINT(env.DEBUG_DATA, "SMPHandler-IO RECV (SEC_REQ) %s", smpPDU->toString().c_str()); - jau::for_each_fidelity(smpSecurityReqCallbackList.cbegin(), smpSecurityReqCallbackList.cend(), [&](SMPSecurityReqCallback &cb) { + jau::for_each_fidelity(smpSecurityReqCallbackList, [&](SMPSecurityReqCallback &cb) { cb.invoke(*smpPDU); }); } else { |