Listeners can now be attached to multisinks, which are notified when
entries are pushed into the ring buffer or dropped on ingress. Listener
implementations might use this to schedule tasks to fetch entries from
the corresponding drains.
No-Docs-Update-Reason: Doc updates coming in follow-up change.
Change-Id: I16be7bf5792c829bcda38edce5a5be7b5a0f373d
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/39463
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Guards all multisink transactions with a lock. The new configuration
option PW_MULTISINK_LOCK_INTERRUPT_SAFE allows the project to select
the type of lock used to guard transactions. By default, it is enabled
and makes use of an interrupt spin-lock. If disabled, a mutex is used
instead.
Change-Id: I71ab2729d130c524da27e0d06beb0c3fdf73d145
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/45720
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
Pigweed-Auto-Submit: Prashanth Swaminathan <prashanthsw@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Adds in buildifier bazel targets that autoformat/lint the entire
WORKSPACE. This can be invoked by running;
'bazel run //:buildifier'
or
'bazel run //:buildifier_test'
Change-Id: Iaaf7f6241e29894eca94aa6b5d0ca3b33255b7f7
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/36160
Reviewed-by: Keir Mierle <keir@google.com>
Commit-Queue: Keir Mierle <keir@google.com>