Bluetooth: ATT: Rework buffer pools to minimize extra data
This uses net_buf_simple_{save/restore} so the same buffer can be reused if the buffer needs to be resent, also since the responses don't need to be saved a pool with 1 element is enough while it keeps the code safe from deadlocking when both request and responses use the same pool. Change-Id: Ibaa8e7ef39f4b466d5cd4d55874bd609f0a1d67c Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This commit is contained in:
parent
20952b75e3
commit
07c8be1791
3 changed files with 26 additions and 60 deletions
|
@ -57,12 +57,13 @@ typedef void (*bt_att_destroy_t)(void *user_data);
|
|||
|
||||
/* ATT request context */
|
||||
struct bt_att_req {
|
||||
sys_snode_t node;
|
||||
bt_att_func_t func;
|
||||
bt_att_destroy_t destroy;
|
||||
struct net_buf *buf;
|
||||
sys_snode_t node;
|
||||
bt_att_func_t func;
|
||||
bt_att_destroy_t destroy;
|
||||
struct net_buf_simple_state state;
|
||||
struct net_buf *buf;
|
||||
#if defined(CONFIG_BLUETOOTH_SMP)
|
||||
bool retrying;
|
||||
bool retrying;
|
||||
#endif /* CONFIG_BLUETOOTH_SMP */
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue