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.