tree: d17c3e968b1159f2991e4997542a1b84f95028ae [path history] [tgz]
  1. BUILD.gn
  2. README.md
  3. meta/
  4. src/
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.
    • Serves bt-gap Inspect file at /hub/c/bt-gap.cmx/{pid}/out/diagnostics/root.inspect.
    • Serves bt-host Inspect files at /hub/c/bt-gap.cmx/{pid}/out/diagnostics/hosts/{host id}.inspect.