zephyr/samples/bluetooth
Trond Einar Snekvik 824c2ebc58 Bluetooth: Mesh: Slab based segmentation handling
Allocates segmented message buffers as slabs in a common pool for RX and
TX. This reduces memory requirements for both TX and RX, as TX messages
can be stored without the network and advertising buffer overhead, and
RX can use only the slabs it needs, instead of allocating a full size
segmented message. This approach also removes the need for decrypting
the segments for each retransmission, reducing overall processing load.

Slab based segmentation for tx also introduces queuing of segmented
messages, which allows the application layer to send multiple messages
to the same destination without violating Bluetooth Mesh specification
v1.0.1, section 3.6.4.1. This mechanism is provided through a flag that
blocks segmented messages to a destination which a message is already
being sent to until the previous message finishes.

This changes the SDU size configuration to a symmetrical
RX_SEG_MAX/TX_SEG_MAX pair of configurations, plus a new segment pool
side configuration. It also removes the binding between the TX_SEG_MAX
config and the advertising buffers, reducing the minimum advertising
buffer count from 6 to 3.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2020-03-19 15:54:26 +02:00
..
beacon samples: bluetooth: add overlays for RV32M1 SoC for BLW SW LL 2019-11-08 15:38:57 +01:00
central Bluetooth: samples: Unref conn object on create connection timeout 2020-02-25 14:12:04 +02:00
central_hr Bluetooth: samples: Unref conn object on create connection timeout 2020-02-25 14:12:04 +02:00
eddystone samples: bluetooth: add overlays for RV32M1 SoC for BLW SW LL 2019-11-08 15:38:57 +01:00
handsfree cleanup: include/: move misc/printk.h to sys/printk.h 2019-06-27 22:55:49 -04:00
hci_pwr_ctrl Bluetooth: samples: Added dynamic Tx power ctrl sample (#17731) 2019-12-17 12:29:57 +01:00
hci_rpmsg doc: reference: Clean up and restructure a bit 2020-03-18 11:47:24 +01:00
hci_spi samples/bluetooth/hci_spi: Add configuration for nrf51_pca10028 2020-03-12 15:08:53 -05:00
hci_uart Bluetooth: samples: hci_uart: Remove unneeded config options 2020-03-13 18:12:47 +02:00
hci_usb usb: api: Add user device status callback 2019-12-19 13:08:55 +01:00
ibeacon samples: bluetooth: add overlays for RV32M1 SoC for BLW SW LL 2019-11-08 15:38:57 +01:00
ipsp samples: bluetooth: add missing VEGABoard overlays 2020-02-08 10:23:49 +02:00
mesh Bluetooth: Mesh: Slab based segmentation handling 2020-03-19 15:54:26 +02:00
mesh_demo Bluetooth: Mesh: Slab based segmentation handling 2020-03-19 15:54:26 +02:00
mesh_provisioner Bluetooth: samples: Add mesh_provisioner sample 2020-02-05 18:47:41 +02:00
peripheral samples: bluetooth/peripheral: Fix test variant name 2020-01-28 15:10:45 -06:00
peripheral_csc Bluetooth: Samples: Switch to synchronous bt_init before main loop 2019-12-09 16:11:19 +01:00
peripheral_dis Bluetooth: samples: peripheral_dis: Sample requires BT_SETTINGS 2020-02-05 20:11:03 +02:00
peripheral_esp Bluetooth: samples: peripheral_esp: Use common 24-bit functions 2020-01-02 19:05:27 +01:00
peripheral_hids samples: bluetooth: add missing VEGABoard overlays 2020-02-08 10:23:49 +02:00
peripheral_hr samples: bluetooth: peripheral_hr: Fix advertising UUID16 service list 2019-12-18 21:46:51 +01:00
peripheral_ht global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
peripheral_sc_only samples: bluetooth: add missing VEGABoard overlays 2020-02-08 10:23:49 +02:00
scan_adv samples: bluetooth: add overlays for RV32M1 SoC for BLW SW LL 2019-11-08 15:38:57 +01:00
st_ble_sensor Samples: Bluetooth: st_ble_demo: Update to new GPIO API 2020-02-05 12:00:36 +01:00
bluetooth.rst doc: Bluetooth: Documentation overhaul 2019-03-13 10:40:05 +01:00