modules/pubsub: Add simple pubsub module

This implements a module for publishing events to a set of subscribed
callbacks. The design is initially simple, allowing a limited set of
callbacks and a 1-deep event queue. Subscribers are run from a work
queue context.

Change-Id: Ifb30652b0f630585e8cbc6bcfe5c1fb5026f0a19
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/showcase/rp2/+/220251
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
Commit-Queue: Alexei Frolov <frolv@google.com>
Reviewed-by: Taylor Cramer <cramertj@google.com>
3 files changed
tree: 043aea19b5eb137b7dd34dacc46ea9e285769c82
  1. .vscode/
  2. apps/
  3. device/
  4. modules/
  5. system/
  6. targets/
  7. tools/
  8. .bazelignore
  9. .bazelrc
  10. .bazelversion
  11. .clang-format
  12. .gitignore
  13. AUTHORS
  14. BUILD.bazel
  15. CONTRIBUTING.md
  16. LICENSE
  17. OWNERS
  18. pigweed.json
  19. README.md
  20. WORKSPACE
README.md

Pigweed Open Source Template Repository

This repository is a template that we will use when creating new open source repositories for Pigweed.