rust/bt-bass: Implement Stream for BASS Server

Add a Stream implementation for emitting relevant BASS events. Upper
layer clients can consume these events and take action for the various
control point operations.

Handle GATT read requests on the Receive State Characteristic.

Handle GATT write requests on the Control Point Characteristic.

Refactor SourceID and other state management into a separate struct for
clearer separation of concerns.

Bug: 534436439
Test: cargo test, ./presubmit.sh

Change-Id: Id5f14161f9aa9ef600b3fa518b70c182d1701606
Reviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3180
6 files changed
tree: 88ed5ad4da40749c51d121d333da4d37188ad9b0
  1. .agents/
  2. docs/
  3. infra/
  4. rust/
  5. .gitignore
  6. AUTHORS
  7. CONTRIBUTING.md
  8. GEMINI.md
  9. LICENSE
  10. OWNERS
  11. PATENTS
  12. presubmit.sh
  13. README.md
README.md

Bluetooth Shared Libraries

What is this?

This is a repository for shared libraries and tools that can be useful for multiple Bluetooth stacks.

These tools and libraries are meant to be:

  • Stack-agnostic and platform-agnostic
  • Implement a useful subset of a published Bluetooth specification.

It has been started as a repository for developing Rust crates but can be easily expanded to include libraries and tools written in other languages.

What is this not?

It is not a full Bluetooth stack. Google has two officially open-source Bluetooth stacks:

Structure

  • rust - Rust Crates
  • docs - General documentation (documentation for each library/tool is included in their directories)