Some commonly encountered Bluetooth terms are overloaded, especially when used in contexts which are not exclusively scoped to Bluetooth. This leads to confusion and communication overhead. We therefore define the following recommended vocabulary to encourage consistent usage.
This term is overloaded between an instance of the Bluetooth host subsystem (which comprises bt-init, bt-gap and the bt-host driver), the bt-host driver-layer, and the ‘host’ machine when performing operations on a separate device under test (the ‘target’, e.g. Fuchsia test hardware)
Suggestions:
bt::host
is sufficient to describe the host driver, and bt::bthost
is not required.The term adapter has historically been used in our code base to roughly refer to either the controller hardware or the bt-host driver. It's use is ambiguous and unclear. It should be avoided.
Suggestions:
This term is overloaded between a remote unit of physical hardware capable of communicating via bluetooth, and a part of the system bound as a device driver
Suggestion:
The Bluetooth Link Layer specification uses the terms ‘Master’ and ‘Slave’ to define the role of a Bluetooth device in a Piconet Physical Channel. Following our guidelines for respectful code, we suggest the following alternatives:
Leader: Used specifically to refer to the ‘Master’ of the piconet, as defined in Bluetooth Core Specification Version 5.1, Vol 2, Part B, Section 2.2.1. The use of ‘Leader’ in the Bluetooth APIs can be considered to have the same meaning as the term ‘Master’.
Follower: Used specifically to refer to a ‘Slave’ of the piconet, as defined in Bluetooth Core Specification Version 5.1, Vol 2, Part B, Section 2.2.1. The use of ‘Follower’ in the Bluetooth APIs can be considered to have the same meaning as the term ‘Slave’.