@@ -596,14 +596,10 @@ ble_error_t GattServer::write(
596
596
uint16_t cccd_value;
597
597
memcpy (&cccd_value, buffer, sizeof (cccd_value));
598
598
599
- uint16_t conn_id = 0 ;
600
- uint16_t conn_found = 0 ;
601
- while ((conn_found < DM_CONN_MAX) && (conn_id < CONNECTION_ID_LIMIT)) {
599
+ for (dmConnId_t conn_id = DM_CONN_MAX; conn_id > DM_CONN_ID_NONE; --conn_id) {
602
600
if (DmConnInUse (conn_id) == true ) {
603
- ++conn_found;
604
601
AttsCccSet (conn_id, cccd_index, cccd_value);
605
602
}
606
- ++conn_id;
607
603
}
608
604
609
605
return BLE_ERROR_NONE;
@@ -622,13 +618,10 @@ ble_error_t GattServer::write(
622
618
// This characteristic has a CCCD attribute. Handle notifications and
623
619
// indications for all active connections if the authentication is
624
620
// successful
625
- uint16_t conn_id = 0 ;
626
- uint16_t conn_found = 0 ;
627
621
size_t updates_sent = 0 ;
628
622
629
- while ((conn_found < DM_CONN_MAX) && ( conn_id < CONNECTION_ID_LIMIT) ) {
623
+ for (dmConnId_t conn_id = DM_CONN_MAX; conn_id > DM_CONN_ID_NONE; --conn_id ) {
630
624
if (DmConnInUse (conn_id) == true ) {
631
- ++conn_found;
632
625
if (is_update_authorized (conn_id, att_handle)) {
633
626
uint16_t cccd_config = AttsCccEnabled (conn_id, cccd_index);
634
627
if (cccd_config & ATT_CLIENT_CFG_NOTIFY) {
@@ -641,7 +634,6 @@ ble_error_t GattServer::write(
641
634
}
642
635
}
643
636
}
644
- ++conn_id;
645
637
}
646
638
647
639
if (updates_sent) {
@@ -709,20 +701,15 @@ ble_error_t GattServer::areUpdatesEnabled(
709
701
) {
710
702
for (size_t idx = 0 ; idx < cccd_cnt; idx++) {
711
703
if (characteristic.getValueHandle () == cccd_handles[idx]) {
712
- uint16_t conn_id = 0 ;
713
- uint16_t conn_found = 0 ;
714
-
715
- while ((conn_found < DM_CONN_MAX) && (conn_id < CONNECTION_ID_LIMIT)) {
704
+ for (dmConnId_t conn_id = DM_CONN_MAX; conn_id > DM_CONN_MAX; --conn_id) {
716
705
if (DmConnInUse (conn_id) == true ) {
717
- ++conn_found;
718
706
uint16_t cccd_value = AttsCccGet (conn_id, idx);
719
707
if (cccd_value & (ATT_CLIENT_CFG_NOTIFY | ATT_CLIENT_CFG_INDICATE)) {
720
708
*enabled = true ;
721
709
return BLE_ERROR_NONE;
722
710
}
723
711
724
712
}
725
- ++conn_id;
726
713
}
727
714
*enabled = false ;
728
715
return BLE_ERROR_NONE;
0 commit comments