src/connectivity/bluetooth/core/bt-gap/README.md
This directory contains the implementation of the public Bluetooth APIs (fuchsia.bluetooth*
). The main pieces of this implementation are:
- HostDevice:
- Receives FIDL events from
bt-host
, and relays them to mods via HostDispatcher. - Provides thin wrappers over some of the private Bluetooth API, for use by HostDispatcher.
- ControlService: Implements the
fuchsia.bluetooth.control.Control
interface, calling into HostDispatcher for help. - HostDispatcher:
- Implements all stateful logic for the
fuchsia.bluetooth.control.Control
interface. - Provides a Future to monitor
/dev/class/bt-host
, and react to the arrival and departure of Bluetooth hosts appropriately.
- main:
- Binds the Control, Central, Peripheral, and Server FIDL APIs to code within this component (
bt-gap
).- The Control API is bound to ControlService.
- Other APIs are proxied directly to their private API counterparts.
- Instantiates the
/dev/class/bt-host
-monitoring future from HostDispatcher. - Configures an Executor to process API events and
/dev/class/bt-host
VFS events.