Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit acfc4fc6 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "floss: fix duplicated reg_id while starting multiple advertising sets"...

Merge "floss: fix duplicated reg_id while starting multiple advertising sets" am: 99dca798 am: aa13a5d9 am: afcd0a92

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/2226217



Change-Id: I49cc82edb0925867073f02a2ece33abd283b8661
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 1afa6357 afcd0a92
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -343,7 +343,7 @@ impl AdvertisingSetInfo {
        AdvertisingSetInfo {
            advertiser_id: None,
            callback_id,
            reg_id: REG_ID_COUNTER.fetch_and(1, Ordering::SeqCst) as RegId,
            reg_id: REG_ID_COUNTER.fetch_add(1, Ordering::SeqCst) as RegId,
        }
    }

@@ -469,6 +469,7 @@ impl Advertisers {
#[cfg(test)]
mod tests {
    use super::*;
    use std::collections::HashSet;
    use std::iter::FromIterator;

    #[test]
@@ -493,4 +494,14 @@ mod tests {
        AdvertiseData::append_adv_data(&mut bytes, 101, &[0]);
        assert_eq!(bytes, vec![6 as u8, 100, 0, 1, 2, 3, 4, 2, 101, 0]);
    }

    #[test]
    fn test_new_advising_set_info() {
        let mut uniq = HashSet::new();
        for callback_id in 0..256 {
            let s = AdvertisingSetInfo::new(callback_id);
            assert_eq!(s.callback_id(), callback_id);
            assert_eq!(uniq.insert(s.reg_id()), true);
        }
    }
}