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

Commit 6e5bafd5 authored by Hsin-chen Chuang's avatar Hsin-chen Chuang
Browse files

floss: Box the OobData structure in BaseCallbacks

OobData (321 bytes) is much larger than the other enum (2nd large is ~40
btyes), which is wasting many memory space.

Bug: 343315863
Tag: #floss
Test: mmm packages/modules/Bluetooth
Flag: EXEMPT, Floss-only changes
Change-Id: I004f0f616d8bf975c8514bedf0308b6267c60af2
parent faf3b0ae
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1053,7 +1053,7 @@ pub enum BaseCallbacks {
    // link_quality_report_cb
    // switch_buffer_size_cb
    // switch_codec_cb
    GenerateLocalOobData(u8, OobData),
    GenerateLocalOobData(u8, Box<OobData>), // Box OobData as its size is much bigger than others
    LeRandCallback(u64),
    // key_missing_cb
}
@@ -1113,7 +1113,7 @@ u32 -> BtStatus, *mut RawAddress, bindings::bt_acl_state_t -> BtAclState, i32 ->
    let _1 = unsafe { *(_1 as *const RawAddress) };
});

cb_variant!(BaseCb, generate_local_oob_data_cb -> BaseCallbacks::GenerateLocalOobData, u8, OobData);
cb_variant!(BaseCb, generate_local_oob_data_cb -> BaseCallbacks::GenerateLocalOobData, u8, OobData -> Box::<OobData>);

cb_variant!(BaseCb, le_rand_cb -> BaseCallbacks::LeRandCallback, u64);